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 编辑 ]