ai2818加密问题
输出的时候总是少一位,为什么?题目:n个不同数a1.。。an,都大于零小于n,加密过程:待加密信息放在这组加密钥匙下,数字中的字符和密钥下的数字一一对应,信息中i位置中的字母将被写到加密信息的第ai个位置,ai是位于i位置的密钥,加密信息如此反复加密,一共加密k次,信息长度小于等于n,如果信息比n短则用空格补足到n个字符。。
程序代码:#include<stdio.h>
void main()
{
int k,i,j,l;
int key[5];
char m[6],p[6];
printf("请输入加密次数K:");
scanf("%d",&k);
printf("请输入密钥:");
for(i=0;i<=4;i++)
scanf("%d",&key[i]);
printf("请输入待加密数据:");
for(i=0;i<=4;i++)
scanf("%c",&m[i]);
for(i=0;i<k;i++)
{
for(l=0;l<=4;l++)
p[l]=m[l];
for(j=0;j<=4;j++)
m[key[j]-1]=p[j];
}
for(i=0;i<=4;i++)
printf("%c",m[i]);
printf("\n");
}[ 本帖最后由 wwfdzh2012 于 2013-4-12 22:45 编辑 ]







