上海桥梁—金山秀兴桥:[C语言]随意输入一串字符,统计出里面元音字母的个数

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 00:24:59
随意输入一串字符,统计出里面元音字母的个数
元音字母包括大小写AEIOUaeiou
输出元音字母个数
谢谢~

#include "stdio.h"

void fun (char *str,int num[], int n) {
int i=0;
// 初始化num
for (i=0; i<n; i++)
num[i]=0;
// *str == '\0'终结
while(str) {
switch (*str) {
case 'a': case 'A':
case 'e': case 'E':
case 'i': case 'I':
case 'o': case 'O':
case 'u': case 'U': num[0]++; break;
default: num[1]++; break;
}
str ++;
}
return;
}

main()
{
int num[2],i;
char str[256];
gets(str);
fun(str, num, 2);
printf("元音数是:%d 辅音数是:%d\n",num[0],num[1]);
}
本程序适于扩展,并且高效。

下面包括的有元音还有辅音,如果只是计算个数就这样:
#include<stdio.h>
#include<string.h>
void main()
{
char ary[23];
int i,j=0,n,h=0;
printf("请随意输入一段字符串:");
scanf("%s",ary);
n=strlen(ary);
for(i=0;i<n;i++)
{
switch(ary[i])
{
case 'a':
case 'o':
case 'e':
case 'i':
case 'u':
j++;
break;
default:h++;
}
}
printf("元音数是:%d 辅音数是:%d\n",j,h);
}

使用for语句就可以了