用c语言写一个程序,要求为输入一个英文句子(字符个数不超过99),输出其中的大写字母,然后输出其总个数。得到下面的运行结果: Input a string: This is Tom & Jerry. T T J ==== Total: 3 capital letters. 提示一个细节:letters后面的s可不是总有的,不要让人笑话啊。
时间: 2024-02-16 14:00:27 浏览: 91
C语言程序设计-输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
5星 · 资源好评率100%
好的,感谢您的提醒,我会注意这个细节。以下是改进后的程序,符合您的要求:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char sentence[100];
int count = 0;
printf("请输入一个英文句子:");
fgets(sentence, 100, stdin);
printf("大写字母有:");
for (int i = 0; sentence[i] != '\0'; i++) {
if (isupper(sentence[i])) {
printf("%c ", sentence[i]);
count++;
}
}
printf("\n大写字母个数为:%d ", count);
if (count == 1) {
printf("capital letter.\n");
} else {
printf("capital letters.\n");
}
return 0;
}
```
程序解析:
1. 定义一个字符数组 `sentence`,用于存储输入的英文句子。
2. 定义一个整型变量 `count`,用于记录大写字母的个数。
3. 使用 `fgets` 函数从标准输入流中读取输入的英文句子,其第一个参数为字符数组的首地址,第二个参数为最大读取字符数,第三个参数为输入流。
4. 使用 `isupper` 函数判断每个字符是否为大写字母,如果是,则输出该字符,并将计数器 `count` 加 1。
5. 输出大写字母的个数,如果个数为 1,则输出 "capital letter.",否则输出 "capital letters."。
希望这个程序符合您的要求,如果还有问题或疑问,欢迎随时提出。
阅读全文