C语言的编辑项目求助!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/21 09:49:45
公司要用加密来保存文件的传输,要求输入的数不大于8位数,先按照倒序排列,(判断下位数是否大于8位)然后将每个数都加上5,用这个数除以10取模,再把该数字第一个数和最后一个数调换顺序。然后输出。

呵呵 第一次做项目有点不明白希望高手大大不要吝啬啊!!我给的分可是很丰厚的。谢谢!!!
要求用排序用while 或是 do while 后面的加5求模用for 整体用数组形式表示。
例如:123456 654321(倒序) 最后都加5求模 颠倒第一位和最后一位的顺序就可了。

程序在开始确定输入数位数i的地方可能有些问题,我的思路是i的值是数字个数,怎么个取法我也有点不明白,你就当个参考吧。我没有调试。

main()
{
int a[20];
int i,j,k;
printf("Input the code(<8 digit) :\n");
for(i=0;i<=20;i++) //接收输入,i为数字个数
scanf("%d",&a[i]);

if(i>7)
printf("It's a wrong code."); //判断是否符合要求
else

j=0; //while排序,j控制循环,k交换数字
while(j<=i)
{k=a[j];
a[j]=a[7-j];
a[7-j]=k;
j++;
}

for(j=0;j<=i;j++) //取模
{
a[j]=(a[j]+5)%10;
}

k=a[0]; //首尾数交换
a[0]=a[j];
a[j]=k;

for(j=0;j<=i;j++) //输出
printf("%d",a[j]);
}