C语言编程,使用条件运算符(?:)编程实现:从键盘输入一个字符(采用getchar()获得字符),若输入字符是大写字母,则转换成小写字母输出:若输入的字符是数字0-9中的一个字符,则转换成字符'@'输出,其余字符不变,原样输出。
时间: 2024-05-02 12:18:52 浏览: 44
```c
#include <stdio.h>
int main() {
char ch = getchar(); // 从键盘输入一个字符
ch = (ch >= 'A' && ch <= 'Z') ? (ch + ('a' - 'A')) : (ch); // 判断是否为大写字母,是则转换为小写字母
ch = (ch >= '0' && ch <= '9') ? ('@') : (ch); // 判断是否为数字0-9中的一个字符,是则转换为字符'@'
putchar(ch); // 输出字符
return 0;
}
```
相关问题
用c语言编写:用while设计一个无穷循环,每次从键盘读入一个字符,如果这个字符是数字字符(0~9),则将所有输入的数字字符对应的数据(如数字字符’9’对应的数据是9,而不是ASCII码值57。)累加起来,并且数字字符个数增加1,如果输入的字符是英语字符,则对应的英语字符个数增加1,否则其它字符个数增加1,如果输入的字符是半角(英文)叹号“!”,则使用break语句终止整个循环。要求用自增运算符实现字符个数增加1。程序运行后至少输入两个数字字符、一个大写英语字符和一个小写英语字符、一个其它字符,以便验证程序是否正确。循环结束后输出数字字符个数、数字字符对应数据累加和、英语字符个数、其它字符个数。
以下是用C语言编写的程序,实现了上述要求:
```c
#include <stdio.h>
int main() {
int num_count = 0, num_sum = 0, eng_count = 0, other_count = 0;
char ch;
while (1) {
ch = getchar();
if (ch == '!') {
break;
} else if (ch >= '0' && ch <= '9') {
num_count++;
num_sum += ch - '0';
} else if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')) {
eng_count++;
} else {
other_count++;
}
}
printf("数字字符个数:%d\n", num_count);
printf("数字字符对应数据累加和:%d\n", num_sum);
printf("英语字符个数:%d\n", eng_count);
printf("其它字符个数:%d\n", other_count);
return 0;
}
```
注意,程序中使用了 getchar() 函数来从键盘读入字符,使用了自增运算符实现字符个数增加1。程序运行后,可以输入数字字符、英语字符、其它字符和叹号,程序会统计并输出各种字符的个数和数字字符对应数据的累加和。
c语言编程从键盘输入一个大写字母
C语言编程可以通过使用scanf函数来从键盘输入一个大写字母。
首先,需要在程序中引入<stdio.h>头文件,以便能够使用scanf函数。
然后,可以定义一个字符变量来存储输入的大写字母,例如:
```c
#include <stdio.h>
int main() {
char letter;
printf("请输入一个大写字母:");
scanf("%c", &letter);
printf("您输入的大写字母是:%c\n", letter);
return 0;
}
```
在上述代码中,首先输出提示信息,要求用户输入一个大写字母。然后使用scanf函数读取用户输入的字符,并将其保存到定义的字符变量letter中(通过取地址运算符&获取变量letter在内存中的地址)。
最后,使用printf函数输出用户输入的大写字母,以进行确认。
需要注意的是,由于scanf函数会在读取字符后遗留一个换行符在输入缓冲区,可能会影响后续的读取操作,因此可以在scanf之前加上一个getchar函数来清除输入缓冲区中的换行符:
```c
getchar();
```
这样可以确保输入操作的准确性。
以上就是使用C语言编程从键盘输入一个大写字母的方法。
阅读全文