某个公司采用公用电话传递数据信息,数据是小于8位的整数.为了确保安全,在传递过程中需要加密.加密规则如下:
首先将数据倒序,然后将每位数字加上5,再用和除以10的余数代替该数字,最后将第一位和最后一位数字交换.要求通过实现数据加密的过程.
#include <string.h>
int main()
{
char str[8]={'\x0'};
int i=0,j,temp;
short *memo=NULL;
long word;
printf("Please input the digital information:");
gets(str);
memo=(short *)malloc(sizeof(short)*strlen(str));
if(memo==NULL)
exit(1);
word=atol(str);
while(word>0)
{
memo[i++]=word%10;
word/=10;
}
for(j=0;j<i;j++)
{
memo[j]+=5;
memo[j]%=10;
}
temp=memo[0];
memo[0]=memo[i-1];
memo[i-1]=temp;
j=0;
while(j<i)
str[j++]=memo[j]+48;
str[j]='\0';
puts(str);
free(memo);
getch();
忘了释放空间,重新编辑了下。
}
[此贴子已经被作者于2006-6-4 20:06:15编辑过]