C语言数字加密程序:解决只输出三个数字的问题
C语言数字加密程序:解决只输出三个数字的问题
这段代码实现了一个简单的数字加密程序,它将输入的四位数字进行加密,并将加密后的数字输出。
#include <stdio.h>
int main()
{
int a,i,aa[4],t;
printf("请输入四位数字:");
scanf("%d",&a);
aa[0]= a/1000;
aa[1]= a/ 100 % 10;
aa[2]= a / 10 % 10;
aa[3]= a % 10;
for(i=0;i<4;i++)
{
aa[i]+=5;
aa[i]%=10;
}
for(i=0;i<2;i++)
{
t=aa[i];
aa[i]=aa[3-i];
aa[3-i]=t;
}
printf("加密后的数字:");
for(i=0;i<3;i++)
printf("%d",aa[i]);
}
问题:
这个程序只输出了三个数字,是因为在最后输出加密后的数字时,只遍历了数组的前三个元素,没有输出最后一个元素。
解决方案:
修改代码如下即可输出全部四个数字:
printf("加密后的数字:");
for(i=0;i<4;i++)
printf("%d",aa[i]);
解释:
修改后的代码将循环遍历数组的全部四个元素,确保每个数字都被输出。
总结:
通过修改循环遍历的条件,我们可以解决程序只输出三个数字的问题,从而成功输出完整的加密结果。
原文地址: https://www.cveoy.top/t/topic/niCO 著作权归作者所有。请勿转载和采集!