波士顿到纽约:编写程序包含main函数和fun函数,main函数用于输入字符串str和输出统计结果。

来源:百度文库 编辑:高校问答 时间:2024/04/28 02:57:30
fun函数的功能是:统计字符串str中元音字母a(A)、e(E)、i(I)、o(O)、u(U)的个数(大小写均统计)
例如从键盘输入字符串str为:ThisisaAbookE
则输出2,1,2,2,0。

#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': num[0]++; break;
case 'e': case 'E': num[1]++; break;
case 'i': case 'I': num[2]++; break;
case 'o': case 'O': num[3]++; break;
case 'u': case 'U': num[4]++; break;
}
str ++;
}
return;
}

main()
{
int num[5],i;
char str[256];
gets(str);
fun(str, num, 5);
for (i=0;i<5;i++)
printf("%5d", num[i]);
}
本程序对楼上的程序进行了优化,并且改正了几个错误。它使高效的

main函数用于输入字符串str和输出统计结果。
那fun干什么用的???

#include "stdio.h"
void fun(char *str,int *num,int n)
{
int i=0;
for (i=0;i<n;i++) num[i]=0;
i=0;
while(*(str+i))
{
if (*(str+i)=='a' && *(str+i)=='A') num[0]++;
else if (*(str+i)=='e' && *(str+i)=='E') num[1]++;
else if (*(str+i)=='i' && *(str+i)=='I') num[2]++;
else if (*(str+i)=='o' && *(str+i)=='O') num[3]++;
else if (*(str+i)=='u' && *(str+i)=='U') num[4]++;
else
;
i++;
}
}
main()
{
int num[5],i;
char str[256];
getchar(str);
fun(str,num,5);
for (i=0;i<5;i++) printf("%5d",num[i]);
}