首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数mai
请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数mai
admin
2019-03-19
48
问题
请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 #include<string.h>
3 #define N 80
4 int fun(char *a)
5 {
6
7 }
8 main()
9 {char line[N];int num=0;void NONO();
10 printf(’’Enter a string:\n’’);gets(line);
11 num=fun(lihe);
12 printf(’’The number of word is:%od\n\n’’,num);
13 NONO();
14 }
15 void NONO()
16 {/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
17 FILE *rf,*wf;int i,num;char line[N],*p;
18 rf=fopen(’’in.dat’’,’’r’’);
19 wf=fopen(’’out.dat’’,’’w’’);
20 for(i=0;i<10;i++) {
21 fgets(line,N,rf);
22 p=strchr(line,’\n’);
23 if(p!=NULL) *p=0;
24 num=fun(line);
25 fprintf(wf,’’%d\n’’,num);
26 }
27 fclose(rf);fclose(wf);
28 }
选项
答案
1 int i,n=0;//字符统计初始值设置为0 2 for(i=0;i<strlen(s);i++) 3 //小于字符串长度进行字符循环判断 4 { 5 if(s[i]>=’a’&&s[i]<=’z’&&s[i+1]=’’||s[i+1]==’\0’) //单词判断条件 6 n++; //单词统计计数器加1 7 } 8 return n; //返回统计值
解析
该程序功能是统计一行字符串中单词的个数,作为函数值返回。单词之间以空格为分割,所以,对单词个数的统计可以理解为对空格字符的统计,其中,最后一个单词以字符串的结尾符为分割。
(1)首先,求得字符串的长度。
(2)只要小于字符串的长度,就对字符进行循环判断。
(3)根据题干要求,只要字符是小写字母,并且下一个紧靠的字符是空格或者尾符,那么单词统计计数器就加1。
转载请注明原文地址:https://kaotiyun.com/show/D6Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序段完全正确的是()。
以下函数返回a所指数组中最小的值所在的下标值fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i
以下叙述中错误的是______。
结构化分析方法是面向()的自顶向下逐步求精进行需求分析的方法。
在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。
分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p
若有下列定义(设int类型变量占2个字节):inti=8,j=9;则下列语句:printf("i=%u,j=%x\n",i,j);输出的结果是()。
在数据管理技术发展的三个阶段中,数据共享最好的是______。
以下数据结构中不属于线性数据结构的是()。
下列程序的输出结果是()。#include<stdio.h>main(){structst{inty,x,z;};union{longi;intj;char
随机试题
在工艺过程中,对()一般不作严格区别。
下列哪项不属于精神障碍护理学具备的特殊性【】
结核性胸腔积液的治疗过程中,进行胸腔穿刺抽液,每次抽液量不宜超过1000ml,是为了避免
物业管理合同的内容是为规范物业管理的行为。建设部制定了两种《物业管理委托合同》、《前期物业管理服务协议》的示范文本。物业管理合同和前期管理服务协议的主要内容包括:(1)当事人和物业的基本情况;(2)双方的权利义务;(3)物业管理服务事项和服务质量要求;(4
背景某机电施工单位承接一项炼油厂的塔体群安装工程,工程内容包括:各类塔体就位、各类管道、自动控制和绝热工程等。其中最高塔体为42m,最重塔体102t。合同工期为3个月,合同约定:如果合同工期每延误一天应罚10000元,如每提前一天奖励5000元。
某技术方案净现值流量如下表所示,投资主体设定的基准收益率为8%,基准静态投资回收期为3年。由此可以得到的结论有()。
2016年3月甲企业开始自行研发一项管理用非专利技术,至2016年12月31日研发成功并达到预定可使用状态,累计研究支出为560万元,累计开发支出为300万元(全部符合资本化条件)。该非专利技术预计使用10年,预计净残值为0,采用直线法计提摊销,假定不考虑
外国旅游者如需购买麝香,导游人员应该()。
TheMonarchbutterflytravels5,000kmeachyear.TheMonarchbutterflylooksfragile.
中国是一个农业大国,也是世界农业起源地之一。水稻和小麦等农作物都原产自中国。新中国成立后,政府十分重视农业生产,不断加大农业投入,加速了农业生产的现代化进程。因此,中国农业取得了辉煌的成就。中国各种农产品的产量增长很快,谷物、棉花、花生(peanut)的总
最新回复
(
0
)