写一个C++程序,读取键盘输入,直到遇见@符号为止,同时回显输入(除了数字),同时把大写字母变成小写,把小写字母变成大写
时间: 2023-09-03 21:26:13 浏览: 115
C++处理键盘输入的方法
5星 · 资源好评率100%
### 回答1:
#include<stdio.h>
int main(){
char ch;
while ((ch = getchar()) != '@') {
if (ch >= 'A' && ch <= 'Z') {
ch = ch + 32;
} else if (ch >= 'a' && ch <= 'z') {
ch = ch - 32;
}
if (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')
printf("%c", ch);
}
return 0;
}
### 回答2:
下面是一个C程序示例,它可以实现读取键盘输入直到遇到@符号为止,并回显输入内容(除了数字),同时将大写字母变成小写,小写字母变成大写。请注意,程序使用了标准库函数ctype.h中的toupper和tolower来实现字母的大小写转换。
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input;
printf("请输入字符,直到输入@符号为止:\n");
while ((input = getchar()) != '@') {
if (isdigit(input)) { // 如果是数字则不输出
continue;
}
if (islower(input)) { // 如果是小写字母则转换成大写输出
putchar(toupper(input));
} else if (isupper(input)) { // 如果是大写字母则转换成小写输出
putchar(tolower(input));
} else { // 如果是其他字符,则直接输出
putchar(input);
}
}
return 0;
}
```
你可以运行上述程序,然后在键盘上输入你想要的字符,直到输入@符号为止。程序会回显你的输入内容(除了数字),同时将大写字母变成小写,小写字母变成大写。
### 回答3:
下面是一个用C语言编写的程序,根据您的需求读取键盘输入,直到遇到@符号为止。同时,程序将回显输入的内容,除了数字会保持不变,大写字母会变成小写,小写字母会变成大写。请参考代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input;
printf("请输入字符,直到输入@符号为止:\n");
while (1) {
scanf("%c", &input);
if (input == '@') { // 遇到@符号退出循环
break;
}
if (isalpha(input)) { // 字母进行大小写转换
if (islower(input)) {
input = toupper(input);
}
else {
input = tolower(input);
}
}
if (!isdigit(input)) { // 数字保持不变,其他字符进行回显
printf("%c", input);
}
}
printf("\n");
return 0;
}
```
此程序会不断读取键盘输入,直到遇到@符号为止。在每次读取输入后,它会检查输入是否为@符号,如果是,则跳出循环。然后,它会检查输入是否为字母,如果是,则将其大小写转换。最后,它会检查输入是否为数字,如果不是,则回显输入内容(除了数字)。程序执行完毕后,会输出一个换行符。
希望对您有帮助!
阅读全文