c语言编写:将用户输入的字符串翻译成密码串:规则如下?

对于第n个字符,如果该字符是英文字母,那么用英文,那么用英文字母表后面第n个字母代替该字母。例如,用户输入"ab,cd",那么程序应该将其译为"bd,hj"

a b c d e f g h i j
例子里输入ab,cd
a是第1个字符,那么换成a后面第1个,也就是b
b是第2个字符,那么换成b后面第2个,也就是d
到这里都没错
c是第4个字符,那么换成后面第4个,也就是g,为什么题目示例是h???
#include <stdio.h>
#include <ctype.h>
int main()
{
int i=0;

char str[1001];
fgets(str,1000,stdin);

while(str[i]){
if(islower(str[i]))
str[i]=97+(str[i]+i-96)%26;
else if(isupper(str[i]))
str[i]=65+(str[i]+i-64)%26;
i++;
}
puts(str);
return 0;
}
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网