字符的ASCII经过运算后再输出的问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 09:45:35
其实就是解密问题。一串乱码,比如:mmZ\dxZmx]Zpgy,从键盘输入,然后对它的ASCII运算。
如果ASCII码+KEY>126,则32+ASCII码+KEY。
如果ASCII码+KEY<=126,则ASCII码+KEY。
再把运算完了的ASCII码用字符表示出来。
KEY的值是从1-100中间的一个,所有的解密完了后会有100个句子,其中一个会是要的结果。
请高手们了

#include <stdio.h>

char *dec(char *input, char *output, int key)
{
int i=0;
while(input[i]!='\0') {
if (input[i]+key>126) output[i]=input[i]+32+key;
else output[i]=input[i]+key;
i++;
}
output[i]=input[i];
return output;
}

void main()
{
char instr[]="mmZ\\dxZmx]Zpgy";
char outstr[100];
int j;
for(j=1;j<=100;j++) {
printf("%s",dec(instr,outstr,j));
}
}

没调试过,试试看