首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动main函数和其他函数中的任何
请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动main函数和其他函数中的任何
admin
2017-02-24
19
问题
请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
1 #include<string.h>
2 #inclucte<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 wordis:%d\n\n",num);
17 /*********found*********/
18 wf=fopen("out.clat","w");
19 fprintf(wf,"%d",fun("a big car"));
20 fclose(wf);
21 /*********found*********/
22 }
选项
答案
int fun(char *s) { int i,j=0; for(i=0 ;s[i]!=’\0’;i++) if(s[i]!=’’&&(s[i+1]==’’‖s[i+1]==’\0’)) /*如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束*/ j++; return j; /*返回单词个数*/ }
解析
要判断单词的个数,首先想到的是程序怎样识别出一个单词,如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束,因此程序使用for循环语句遍历整个字符串,用if条件语句判断当前字符是否表示一个单词的结束,如果当前字符表示一个单词结束,则存放单词个数的变量加1,最后返回单词的个数。
转载请注明原文地址:https://kaotiyun.com/show/pMDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若执行下列程序时从键盘上输入2,则输出结果是()。#inclUde<stdio.h>main(){inta;scanf("%d",&A);if(a++<3)printf("%d\n",A);elseprintf("%d\n",a-
mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。intmystrlen(char*str){intifor(i=0;______!=’\0’;i++);return(i);}
以下程序的输出结果是______。#include<stdio.h>main(){intifor(i=’a’;i<’f’;i++,i++)printf("%c",i-’a’+’A’);printf("\n");}
下面程序段的运行结果是chara[]="lanuage",*p;p=a;while(*p!=’u’){printf("%c",*p-32);p++;}
有以下程序main(){intx=0,y=0,i;for(i=1;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}printf("
有以下程序#include<stdio.h>main(){intc;while((c=getchar())!=’\n’){switch(c-’2’){case0:case1:pu
有如下程序main(){intn=9;while(n>6){n--;printf("%d",n);}}该程序的输出结果是
以下选项中,当x为大于1的奇数时,值为0的表达式是
以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。#includestructlist{intd
若有以下函数首部intfun(doublex[10],int*n)则下面针对此函数的函数声明语句中正确的是
随机试题
下列哪种情况可出现语震增强
化脓性关节炎细菌进入关节内的途径包括
A.催产素B.催乳素C.雌激素D.雄激素腺垂体分泌的是
A、洗胃B、及时供氧C、服用活性炭D、先饮用大量浓茶E、及时服鸡蛋清;处理中药不良反应时急性中毒出现呼吸衰竭者应
关于生产、销售伪劣商品罪,下列哪些判决是正确的?()
政策研究咨询是宏观专题研究和()的一个重要组成部分,对政府规划的编制和政策的修订有重要意义。
下列各项,应在资产负债表“应付账款”项目中反映的有( )。
(一)资料2012年3月,审计组对某公司2011年度财务收支情况进行了审计。在对该公司固定资产业务进行审计时,发现如下情况:1.该公司与设备采购有关的部分内部控制如下:(1)采购部门确定设备需要量,提出设备购置申请书,报送设备
下列项目中,属于房地产开发成本的有()。(2005年)
权利质押的范围包括()。
最新回复
(
0
)