输入一个字符串 统计并输出该字符串中英文字母出现的次数 用c语言
时间: 2023-11-17 15:08:32 浏览: 130
可以使用C语言中的字符数组和循环语句来实现统计字符串中英文字母出现的次数的功能。
以下是示例代码:
```c
#include <stdio.h>
#include <ctype.h> // 包含 isalpha 函数的头文件
int main() {
char str[100];
int i, count = 0;
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin); // 使用 fgets 函数获取字符串
for (i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) { // 如果是英文字母
count++;
}
}
printf("字符串中英文字母出现的次数为:%d\n", count);
return 0;
}
```
在上面的代码中,`fgets()` 函数用于获取用户输入的字符串,`isalpha()` 函数用于判断当前字符是否为英文字母。循环语句遍历整个字符串,每当遇到一个英文字母时,计数器 `count` 就加 1。最后输出计数器的值即可。
相关问题
c语言输入一个字符串,统计字符串中非英文字母的字符个数并输出
好的,以下是实现该功能的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int count = 0;
printf("请输入一段字符串:");
fgets(str, sizeof(str), stdin); // 读取整行字符串
str[strlen(str)-1] = '\0'; // 去掉末尾的换行符
for (int i = 0; str[i]; i++) {
if ((str[i] < 'A' || str[i] > 'Z') && (str[i] < 'a' || str[i] > 'z')) {
count++;
}
}
printf("非英文字母的字符个数为:%d\n", count);
return 0;
}
```
这段代码通过fgets函数读取用户输入的一行字符串,然后遍历字符串中的每个字符,判断是否为英文字母。如果不是,则累加非英文字母的字符个数,最后输出总数。请注意,代码中使用了字符的ASCII码值进行比较,因此不仅包括了常见的标点符号,还包括了空格、数字等非英文字母的字符。
C语言输入一行字符串,统计输出字符串中出现过的大写英文字母及其数量
好的,这个问题属于编程问题,可以回答。下面是解决方法:
可以使用字符数组进行输入,并使用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;
}
```
希望能够帮到你。
阅读全文