请教C++高手一个简单的问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 00:18:46
#include <stdio.h>
int b[8],c,temp;
void main()
{
printf("请输入要加密的数据(8位纯数字)");
scanf("%d",&c);//用scanf接受一串数字!
for(int i=0;c>0,i<8;i++)//这里开始拆分加密和加入数组!
{
b[i]=(c%10+5)%10;
c/=10;
}
temp=b[0];//实现交换!
b[0]=b[i];
b[i]=temp;
printf("\n加密后数据为:");//以下为输出!
for(temp=0;temp<i;temp++)printf("%d",b[temp]);
putchar('\n');
putchar('\n');
printf("%d",i);
getchar();
}

我自己写的这个 请教解密的算法~`
偶不会吖~`嘎嘎~
sum = sum+(b[8-i]+5)%10;
这段是什么吖
难到是我解密的公式吗?怎么没有初始化???

还有1、你定义的i是局部变量怎么可以这样就用呢?~~
我定义的i虽然是局部变量~`但是它并不影响我程序的运行啊。
经过上面循环完了以后i的值是8
所以temp<i就等于temp<8,
你的回答跟没回答一样嘛

先说你个小错误:
for(temp=0;temp<i;temp++)printf(\"%d\",b[temp]);
printf(\"%d\",i);
1、你定义的i是局部变量怎么可以这样就用呢?
2、b[temp]应该是b[7-temp]吧,不顺序是反的。
temp=b[0];//实现交换!
b[0]=b[i];
b[i]=temp;
这句只是简单的将首位交换是吧?还是想怎么样
temp = b[0];
b[0] = b[i];
b[i] = temp;
for( int i=0; i<8; i++ )
{
sum = sum+(b[8-i]+5)%10;
}
printf( \"%d\\n\", sum );