①目标
統計字符串中各元音字母的個數
AEIOU,aeiou。不分大小寫
~
②命令行
#include< stdlib.h>
#include< stdio.h>
~
③定義函數
void fun(char *s,int num[5])
/*元音字母有5個,故定義有5個元素的整型數組num[5]用于計數)*/
{int k,i=5;
for(k=0;k<i;k )num[k]=0;
/*數組num[5]的5個元素全部初始化,賦值為0,即從0開始計數。
此處不用num[i]=0,而另選字母num[k]=0,是為了規避元素越界,i=5,但下标01234,沒有num[5]這個元素。*/
for(;*s;s )
/*遍曆指針s所指字符串的所有字符,如果遇到元音字母,就執行下面的switch語句*/
{i=-1;
/*i=-1,沒有num[-1]元素,表示不滿足case情況,不是元音字母*/
switch(*s)
{case'a':case'A':{i=0;break;}
/*遇到元音字母a或A,存入數組元素num[0]中,從0開始,配合num[i] ,完成計數*/
case'e':case'E':{i=1;break;}
/*遇到元音字母e或E,存入數組元素num[1]中,從0開始,配合num[i] ,完成計數*/
case'i':case'I':{i=2;break;}
/*遇到元音字母i或L,存入數組元素num[2]中,從0開始,配合num[i] ,完成計數*/
case'o':case'O':{i=3;break;}
/*遇到元音字母o或O,存入數組元素num[3]中,從0開始,配合num[i] ,完成計數*/
case'u':case'U':{i=4;break;}
/*遇到元音字母u或U,存入數組元素num[4]中,從0開始,配合num[i] ,完成計數*/
}
if(i>=0)num[i] ;
}
}
~
④主函數(調用)
void main()
{char s1[100];int num[5],i;
printf("\nplease enter a string: ");
gets(s1);
/*利用字符數組s1儲存字符串,空間留大一點100。
利用整型數組num[5]統計元音字母個數*/
fun(s1,num1);
/*利用fun函數,統計s1中儲存字符串的元音字母個數num1*/
for(i=0;i<5;i )
printf("%d",num1[i]);
printf("\n");
}
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!