问题描述:编写一个程序,读取键盘输入,直到遇到@符号为止,并回显输入(数字除外),同时将大写字符转化为小写,将小写字符转换为大写。
解决思路:1.建立一个while循环体,在循环体中加一个读到@就跳出循环的语句
2.在循环体中输入值存储进char变量中
3.判断变量是否为字母数字,如果是,接着判断是大写字母的话,输出小写字母,小写字母的话,输出大写字母,数字无操作。
4.不是字母数字的话直接输出变量。
代码:
#include <iostream>
#include <cctype>
using namespace std;
int main()
{
int i = 0;
char a;
while (1)
{
cin >> a;
if (a == '@')
break;
if (isalnum(a))
{
if (isupper(a))
{
putchar(tolower(a));
}
if (islower(a))
{
putchar(toupper(a));
}
}
else
putchar(a);
}
return 0;
}