作业帮 > 综合 > 作业

C语言指针实现小于8位数字加密

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/28 09:51:17
C语言指针实现小于8位数字加密
加密规则如下:首先先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,最后将第一位和最后一位数字交换
C语言指针实现小于8位数字加密
#include
#include
#include
#include
main()
{
char *input_number = NULL,*temp = NULL,*p = NULL;;
char c;
int i = 0,num = 0;
input_number = (char *)malloc(10);
memset(input_number,0,10);
temp = (char *)malloc(10);
memset(temp,0,10);
printf("请输入8位数字:\n");
/*输入要加密的数据*/
while(i < 8)/*只取8个字符的数据*/
{
c = getchar();
if(c = '0')/*只从中取整数*/
{
input_number[i] = c;
i++;
}
}
input_number[i] = '\0';
p = &input_number[7];
/*将输入的数据倒序存储*/
i = 0;
while(i < 8)
{
temp[i] = *p;
p --;
i ++;
}
temp[i] = '\0';
/*加密运算*/
i = 0;
for(i = 0; i < 8; i ++)
{
num = temp[i] - 48;/*字符转换为整形*/
num = num + 5;
num = num % 10;
temp[i] = num + 48;/*整形转换为字符*/
}
/*第一位和最后一位数据交换*/
p = temp;
temp[8] = *p;
temp[0] = num + 48;
/*得到结果*/
sprintf(input_number,"%s",temp);
printf("input_number = %s\n",input_number);
/*释放*/
if(NULL != temp)
{
free(temp);
temp = NULL;
}
if(NULL != input_number)
{
free(input_number);
input_number = NULL;
}
return 0;
}