对于第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;
}
例子里输入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;
}
温馨提示:答案为网友推荐,仅供参考