c语言,统计字符串中个元音字母(即a、e、i、o、u)的个数。

题目:统计字符串中个元音字母(即a、e、i、o、u)的个数答案:voidfun(char*s,intnum[5]){intk,i=5;for(k=0;k<i;k++)nu... 题目:统计字符串中个元音字母(即a、e、i、o、u)的个数
答案:
void fun (char *s , int num[5] )
{
int k , i = 5 ;
for (k=0 ; k<i ; k++)
num[k ] = 0 ;
for ( ; *s ; s++)
{
i= -1 ;
switch(*s)
{ ...
}
if ( i>=0)
num[i] ++;
}
}
提问:
1、里面的‘k’、 ‘i’代表什么?怎么理解?
2、
for ( ; *s ; s++)
{
i= -1 ;
switch(*s)
{ ...
}
if ( i>=0)
num[i] ++;
}
这一段又该如何理解?
3、求整段解释、翻译,看不懂啊...
展开
 我来答
AutoGrowUP
2012-08-21
知道答主
回答量:30
采纳率:0%
帮助的人:15.1万
展开全部
void fun (char *s , int num[5] )
{
int k , i = 5 ; //i = 5 是指元音的个数,也就是num[0]表示a的个数,以此类推
for (k=0 ; k<i ; k++) //k只是个计数
num[k ] = 0 ;
for ( ; *s ; s++) //s首先指向字符串的第一个字符
{
i= -1 ; //
switch(*s) //判断s指向的字符是否为元音
{ ... //这里,如果*s==a , i = 0,以此类推,如果*s不是元音,i = -1;
}
if ( i>=0)
num[i] ++;
}
}
追问
i=-1这里是什么意思?
追答
s=-1是默认值,如果不是元音,i=-1,如果是元音就把i赋值为0
xuwang092
推荐于2017-11-26 · TA获得超过174个赞
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:116万
展开全部
1、k是计数器,for循环把数组num[5]全置为0,分别表示元音a、e、i、o、u的个数。
2、对字符串中字符循环判断,switch里应该是把相应元音用i表示,再根据下标i使数组num[5]加1.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3d9c61e
2012-08-21
知道答主
回答量:25
采纳率:0%
帮助的人:8.9万
展开全部
k当循环变量使用,i是数组长度。
循环条件 字符串*s,
s++指针加1,判断下一个字符;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
傲琪ca154
2012-08-22 · TA获得超过165个赞
知道答主
回答量:106
采纳率:100%
帮助的人:39.7万
展开全部
...基础啊。
1.k和i是定义的变量。
for (k=0 ; k<i ; k++)
num[k ] = 0 ;

上面代码是初始化num[5]这个数组。这个数组有5个int变量 分别记录元音字母的个数。
2.for(){}这段代码是写 把字符串一个个传进来,如果是元音,则对应的数组中的元素(num[i])加1,i=-1是初始化i。如果不是元音 则i=-1,也就不改变num[]数组的值。
3.整段代码就是为了计算元音字母的个数。记录在数组num[]中, 在switch中对应就可以了 不如a对应num[0]
4.没什么问题请采纳咯
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式