版权声明:未经永许不可转载 https://blog.csdn.net/qq_43763344/article/details/85049212
题目:
用C语言实现:连续输入一个大写字符则输出它的小写字符;输入它的小写字符则输出它的大写字符;输入数字则不输出任何。
思路:
- 题目说输入字符或数字,输入的格式不一样,所以不可以使用scanf()那么可以用getchar()连续输入多个字符.
- 既然是连续输入,那么得使用循环语句,用for()的话,由于不知道条件的无法循环,不妨试试while()语句。
- 那循环条件是?
while((int ch =getchar())!=EOF)
下面是具体代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int ch;
while ((ch = getchar()) != EOF)
{
if (ch >= 'a'&&ch <= 'z')
{
printf("%c", ch - 32);
}
else if (ch >= 'A'&&ch <= 'Z')
{
printf("%c", ch + 32);
}
else
{
;
}
}
system("pause");
return 0;
}
注意事项:
1.while()语句中由于"!="的优先大于赋值“=”,所以要加括号。
2.while()语句中的 int = getchar()如果写在循环语句的外面则会造成死循环。