从键盘输入n个字符,请分别统计大写字母、小写字母、数字、其他字符的个数并输出;还需要输出所有数字字符之和。
时间: 2023-04-24 11:02:54 浏览: 127
可以使用循环遍历输入的n个字符,判断每个字符的类型,然后分别累加计数器。可以使用ASCII码来判断字符的类型,例如大写字母的ASCII码范围是65到90,小写字母的ASCII码范围是97到122,数字的ASCII码范围是48到57,其他字符的ASCII码范围可以根据需要自行定义。
统计完各个字符类型的个数后,再遍历一遍输入的字符,累加所有数字字符的值,即可得到所有数字字符之和。
以下是示例代码:
```
#include <stdio.h>
int main()
{
int n, i;
int upper = , lower = , digit = , other = ;
int sum = ;
char c;
printf("请输入n个字符:\n");
scanf("%d", &n);
for (i = ; i < n; i++) {
scanf(" %c", &c); // 注意空格,避免读入换行符
if (c >= 'A' && c <= 'Z') {
upper++;
} else if (c >= 'a' && c <= 'z') {
lower++;
} else if (c >= '' && c <= '9') {
digit++;
sum += c - ''; // 累加数字字符的值
} else {
other++;
}
}
printf("大写字母:%d\n", upper);
printf("小写字母:%d\n", lower);
printf("数字:%d,数字之和:%d\n", digit, sum);
printf("其他字符:%d\n", other);
return ;
}
```
阅读全文