C语言输入一行字符串,统计输出字符串中出现过的大写英文字母及其数量
时间: 2023-06-02 12:04:37 浏览: 76
好的,这个问题属于编程问题,可以回答。下面是解决方法:
可以使用字符数组进行输入,并使用isupper函数判断字符是否为大写英文字母,然后使用数组记录每个大写英文字母出现的次数,最后输出结果。
以下是示例代码:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int count[26] = {0}; //用于记录每个大写英文字母出现的次数
printf("请输入一行字符串:");
fgets(str, 100, stdin); //使用fgets函数输入字符串
for (int i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) {
count[str[i] - 'A']++;
}
}
printf("字符串中出现过的大写英文字母及其数量为:\n");
for (int i = 0; i < 26; i++) {
if (count[i] > 0) {
printf("%c:%d\n", 'A' + i, count[i]);
}
}
return 0;
}
```
希望能够帮到你。
相关问题
C语言输入一行字符串,统计输出字符串中出现过的大写英文字母及其数量,不使用内置函数
好的,这个问题属于编程问题,我可以回答。以下是代码示例:
```c
#include <stdio.h>
int main() {
char str[100];
int count[26] = {0}; // 统计出现数量的数组,初始值为0
printf("请输入一行字符串:\n");
fgets(str, 100, stdin);
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
count[str[i] - 'A']++; // 出现次数+1
}
}
printf("出现过的大写英文字母及其数量如下:\n");
for (int i = 0; i < 26; i++) {
if (count[i] != 0) {
printf("%c: %d\n", 'A' + i, count[i]);
}
}
return 0;
}
```
以上代码利用了一个长度为 26 的数组 count 来统计每个英文字母出现的次数。在输入字符串时,使用 fgets 函数避免出现缓冲区溢出的问题。在遍历字符串时,如果字符是大写英文字母,则更新相应的数组元素值。最后,遍历一遍 count 数组,输出不为零的元素的字母和数量即可。
希望能够帮到您!
C语言输入一行字符串,统计大写英文字母及其数量
好的,我理解了你的问题。下面是C语言的代码,可以实现输入一行字符串,统计大写英文字母及其数量:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int count = 0;
printf("请输入一行字符串:");
fgets(str, 100, stdin);
for (int i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) {
count++;
}
}
printf("大写英文字母的数量为:%d\n", count);
return 0;
}
```
代码解释:
- `fgets(str, 100, stdin)` 用来读取用户输入的一行字符串,存储在字符数组 `str` 中;
- `isupper(str[i])` 判断字符 `str[i]` 是否为大写字母,如果是,则计数器 `count` 自增 1;
- `printf` 用来输出结果。
注意,这段代码只统计纯大写字母,如果要统计大小写字母、数字或其它字符数量,可以稍作修改。