用c语言统计输入的一串字符中每个元音字母(a,e,i,o,u)出现的次数,输入#以作为结束。
时间: 2024-10-18 22:16:26 浏览: 96
在C语言中,你可以使用循环、条件判断以及计数器来实现这个功能。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的函数
int main() {
char input[100];
int count[5] = {0}; // 初始化元音字母计数数组
char ch;
printf("请输入一串字符,以'#'结束:\n");
while ((ch = getchar()) != '#' && ch != EOF) { // 循环直到遇到'#'或文件结束符
if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') { // 判断字符是否为元音
count[ch - 'a']++; // 如果是元音,计数器加一
}
}
// 打印结果
printf("元音字母统计:\n");
for (int i = 0; i < 5; i++) {
if (count[i] > 0)
printf("%c 出现了 %d 次\n", 'a' + i, count[i]);
}
return 0;
}
```
当你运行这个程序时,它会提示用户输入字符,然后统计并显示每个元音字母的出现次数,直到用户输入'#'为止。
相关问题
用c语言统计输入的一串字符中每个元音字母(a,e,i,o,u)出现的次数, 当输入#时结束
一串字符时,代码应如何实现?
可以设计一个函数,接收一个字符串作为参数,返回每个元音字母出现的次数。可以使用一个计数器数组来记录每个元音字母出现的次数。在循环遍历字符串的过程中,每当遇到一个元音字母,就将对应计数器数组的值加一。最后,函数返回计数器数组即可。一个简单的实现示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int* count_vowels(const char* str) {
static int counts[5] = {0}; // 记录每个元音字母出现的次数
for (int i = 0; i < strlen(str); i++) {
char c = str[i];
switch (c) {
case 'a':
counts[0]++;
break;
case 'e':
counts[1]++;
break;
case 'i':
counts[2]++;
break;
case 'o':
counts[3]++;
break;
case 'u':
counts[4]++;
break;
default:
break;
}
}
return counts;
}
int main() {
char str[100];
printf("请输入一串字符:");
scanf("%s", str);
int* counts = count_vowels(str);
printf("a: %d\n", counts[0]);
printf("e: %d\n", counts[1]);
printf("i: %d\n", counts[2]);
printf("o: %d\n", counts[3]);
printf("u: %d\n", counts[4]);
return 0;
}
```
在这个示例代码中,`count_vowels`函数返回一个静态数组指针,指向存储每个元音字母出现次数的计数器数组。这个数组的定义方式为`static int counts[5] = {0}`,表示数组是静态的,函数返回后数组仍然有效,初始值都为0。遍历字符串的过程中,使用了switch语句来区分每个元音字母,并将对应计数器值加一。最后,函数返回counts数组指针。在main函数中,需要输入一串字符,并将计数器数组输出。
用c语言编写 统计元音字母的个数 描述:定义一个字符数组保存一个字符串,然后统计并输出该字符串中元音字母(a, e, i, o, u)的个数。 示例输入: 请输入一个字符串: beautiful day 元音字母的个数: 6
在C语言中,你可以使用以下函数来统计字符串中元音字母的个数:
```c
#include <stdio.h>
#include <ctype.h> // 包含ctype.h头文件以使用isalpha()函数
int count_vowels(char *str) {
int vowel_count = 0;
while (*str != '\0') { // 遍历字符串直到遇到结束符
char c = tolower(*str); // 转换为小写以便不区分大小写
if (isalpha(c) && (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')) {
vowel_count++; // 如果是元音字母,计数器加一
}
str++; // 移动到下一个字符
}
return vowel_count; // 返回元音字母总数
}
int main() {
char input[] = "beautiful day";
int vowel_count = count_vowels(input);
printf("元音字母的个数: %d\n", vowel_count);
return 0;
}
```
上述代码首先定义了一个`count_vowels`函数,它接受一个字符串作为参数。通过遍历字符串中的每个字符,如果字符是元音字母(忽略大小写),就增加计数器。最后,在`main`函数中,我们调用这个函数并打印结果。
阅读全文