首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动main函数和其他函数中的任何
请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动main函数和其他函数中的任何
admin
2017-02-24
46
问题
请编写函数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-
阅读下列程序,则程序的输出结果为______。#include"stdio.h"structty{intdata;charc;};main(){structtya={30,’x’};fun(a);printf("%d%c
以下程序的输出结果是______。#include<stdio.h>main(){intifor(i=’a’;i<’f’;i++,i++)printf("%c",i-’a’+’A’);printf("\n");}
有以下程序段,且变量已正确定义和赋值for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("s=%f\n\n",s);请填空,使下面程序段的功能与之完全相同S=1.0;k=1;while([8]
有以下程序#include<string.h>main(){charp[20]={’a’,’b’,’c’,’d’},q[]="abc",r[]="abcde";strcat(p,r);strcpy(p+strlen(q),
当运行以下程序时,从键盘输入AhaMA(空格)Aha<CR>,则下面程序的运行结果是#include<stdio.h>main(){chars[80],c=’a’;inti=0;scanf("%s",s);
以下程序的运行结果是【】。#includemain(){FILE*fp;inta[10]={1,2,3,0,0},i;fp=fopen("d2.dat","wb");fwtite(a,sizeof(int),5
已有定义:charc=′′;inta=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为【】。
若有定义intw[3][5];,则以下不能正确表示该数组元素的表达式是
下列关于字符串的说法中错误的是
随机试题
刘某违反危险化学品安全管理规定运输危险化学品,危及公共安全,构成以危险方法危害公共安全罪。
简述代位继承的概念及特征。
下列氨基酸中,均属于碱性氨基酸的是
铸造机械的控制系统比较复杂,除一般的电气控制系统外还有气动控制和液压控制,所以生产过程中除会引起常见的机械事故外,还伴有挤压伤害、()和环境污染等。
假山按()方式可分为筑山、掇山、凿山和塑山。
水利水电工程施工企业项目经理应具备的资格包括()。
2016年7月,安徽省委、省政府印发《关于扎实推进绿色发展着力打造生态文明建设安徽样板实施方案》,《方案》提出在皖江、淮河、新安江、()等“三河一湖”流域先行先试,开展生态文明示范创建,努力形成全国示范样板。
工业产权是指法律规定对应用于生产和流通中的创造发明与显著标记等智力成果在一定期限和地区内享有占有权。根据上述定义,下列属于工业产权的是()。
关于利率与汇率关系,下列说法错误的是()。
设0<a<b<c,求
最新回复
(
0
)