首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动main函数和
请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动main函数和
admin
2016-12-06
29
问题
请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
1 #include<string.h>
2 #include<stdio.h>
3 #define N 80
4 int fun(char*s)
5 {
6
7 }
8 void main()
9 {
10 FILE*wf;
11 char line[N];
12 int num=0;
13 printf(’’Enter a string:\n’’);
14 gets(line);
15 num=fun(line);
16 printf(’’The number of word is:%d\n\n’’,num);
17 /*********found*********/
18 wf=fopen(’’out.dat’’,’’w’’);
19 fprintf(wf,’’%d’’,fun(’’a big car’’));
20 fclose(wf);
21 /*********found*********/
22 }
选项
答案
1 int fun(char*s) 2 { 3 int i,j=0; 4 for(i=0;s[i]!=’\0’;i++) 5 if(s[i]=’’,&&(s[i+1]==’’||is[i+1]==’\0’))/*如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束*/ 6 j++; 7 return j; /*返回单词个数*/ 8 }
解析
要判断单词的个数,首先想到的是程序怎样识别出一个单词,如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束,因此程序使用for循环语句遍历整个字符串,用if条件语句判断当前字符是否表示一个单词的结束,如果当前字符表示一个单词结束,则存放单词个数的变量加1,最后返回单词的个数。
转载请注明原文地址:https://www.kaotiyun.com/show/pVDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>#difineF(X,Y)(X)*(Y)main(){inta=3,b=4;print("%d\n",F(a++,b++)
有以下程序:main(){charp[]={’a’,’b’,’c’},q[]="abc";printf("%d%d\n",sizeof(p),sizeof(q));};程序运行后的输出结果是____
以下程序的功能是进行位运算:main(){unsignedchara,b;a=7^3;b=~4&3;printf("%d%d\n",a,b);}程序运行后的输出结果是______。
有以下程序:main(){inti=1,j=1,k=2;if((j++‖k++)&&i++)printf("%d,%d,%d\n",i,j,k);}执行后的输出结果是______。
有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*P,*q,*r;
为了使模块尽可能独立,要求______。
已定义以下函数:fun(int*p){return*p;}该函数的返回值是______。
有以下程序:main(){inta[]={2,4,6,8,10},y=0,x,*p;p=&a[1];for(x=1;x<3;x++)y+=p[x];printf("%d\n",y);}
有以下程序:main(){intx=0,y=5,z=31while(z-->0&&++x<5)y=y-1;printf("%d,%d,%d\n",x,y,z);
有如下程序:main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=0)continue;k--;}printf("
随机试题
下列词作属于悼亡词的是()
慢性消化性溃疡的发生与下列哪项因素无关
男性,43岁,因高血压病就诊,下列哪项最能说明此患者为1级高血压
开放性气胸的患者首要的处理措施是
剧场观众厅地面坡度多大时应做台阶?
下列各项中,属于适用预约定价安排需要同时满足的条件有()。
根据车船税的有关规定,下列说法中不正确的有()。
影响权益净利率的因素有()。
A、这是个人的私事B、害怕别人知道C、问这个不是味道D、不是熟人A根据“在国外,人们是不随便打听别人的经济状况的,因为这是个人的私事”这句话,可知选A。
Masstourismisaformoftourismthatinvolvestensofthousandsofpeoplegoingtothesameresortoftenatthesametimeofa
最新回复
(
0
)