如何用c语言输入cde...,输出abc...
发布网友
发布时间:2022-05-25 11:50
我来回答
共3个回答
热心网友
时间:2023-10-09 18:01
#include <stdio.h>
int main()
{
int i=0;
char puzzle[10];
scanf("%s",puzzle);
while (puzzle[i]!='\0')
{if (puzzle[i]>='C' && puzzle[i]<='Z' ||
puzzle[i]>='c' && puzzle[i]<='z') //C到Z,或c到z
puzzle[i]=puzzle[i]-2;//转换为前两个字母
else if (puzzle[i]>='A'&& puzzle[i]<'C' ||
puzzle[i]>='a' && puzzle[i]<'c')//A到B,或a到b
puzzle[i]=puzzle[i]+26-2;//转换为其后第24个字母*/
i++;
}
puzzle[i]='\0';
puts(puzzle);
printf ("\n");
return 0;
}
不用谢
热心网友
时间:2023-10-09 18:02
你好 字符数组的输入要么可以循环使用%c格式输入 ,要么使用%s输入(建议使用%s),不存在一个%c输入一次就可以的情况,这块有问题,还有就是while (puzzle[i]!='\n')这一句存在的意义并不明显,完全可以去掉,而且加上这一句会让程序死循环追问
怎么还是不行呢?
追答你用%s输入的话格式应该是scanf("%s",puzzle);而且应该在循环的前面,不在里面.
或者你在循环前面加一段代码
for(i = 0 ; i ='C' && puzzle[i]='c' && puzzle[i]='A'&& puzzle[i]='a' && puzzle[i]<'c')//A到B,或a到b
puzzle[i]=puzzle[i]+26-2;//转换为其后第24个字母
}
printf("%s\n",puzzle);
printf ("\n");
system("pause");
return 0;
}
热心网友
时间:2023-10-09 18:02
这代码完全可以啊,你想问什么追问不行啊 一运行就出现这个exe停止工作...