首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数mai
请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数mai
admin
2015-06-08
35
问题
请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#define N 80
int fun(char *S)
{
}
main()
{char line[N];int hum=0;voidNONO();
printf(“Enter a string :\n”);
gets(line);
hum=fun(line);
printf(“The number of word is:
%d\n\n”,hum);
NONO();
}
void NONO()
{/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。 */
FILE * rf, *wf; int i, num; char
line[N],*P;
rf=fopen(“in.dat”,“r”);
wf=fopen(“out.dat”,“W”);
for(i=0;i<10 ; i++) {
fgets(line,N,rf);
P=strchr(line, ‘\n’);
if(P!=NULL)*P=0;
num=fun(line);
fprinLf(wf,“%d\n”,num);
}
fclose(rf), fclose(wf);
}
选项
答案
int i,n=0;//字符统计初始值设置为0 for(i=0;i
=‘a’&&s[i]<=‘z’&&s[i+1] ==‘’||s[i+1]==‘\0’) //单词判断条件 n++; //单词统计计数器加1 } return n; //返回统计值
解析
该程序功能是统计一行字符串中单词的个数,作为函数值返回。单词之间以空格为分割,所以对单词个数的统计可以理解为对空格字符的统计,其中最后一个单词以字符串的结尾符为分割。
[解题思路]
(1)首先,求得字符串的长度。
(2)只要小于字符串的长度,就对字符进行循环判断。
(3)根据题干要求,只要字符是小写字母,并且下一个紧靠的字符是空格或者尾符,那么单词统计计数器就加1。
转载请注明原文地址:https://kaotiyun.com/show/uiJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=
有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;}程序在执行了c=&b;b=&a;语句后,表达式**c的值是______。
有如下程序main(){intx=3;do{printf("%d",x--);}while(!x);}该程序的执行结果是______。
设血型占2个字节,则unsignedint所能表示的数据范围是______。
下面invert函数的功能是将一个字符串str的内容颠倒过来。请填空。 #include<string.h> voidinvert(charstr[]) {inti,j【】; for(i=0,j=strlen(str)
下面程序的输出结果是_______。unionun{inta[4];longb;charc[6];}main(){unionunu;printf("%d%d",s
库函数strcpy用以复制字符串,若有以下定义和语句:charstr1[]="china",str2[10],*str3,*str4="china";则对库函数strcpy的正确的调用是_______。
以下程序的输出结果是_______。#include<stdio.h>main(){inti;for(i=1;i<5;i++){if(i%2)printf("*");elseco
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_______。
有以下程序(提示,程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2*sizeof(int)字节):#include<stdio.h>main(){FILE
随机试题
工业企业发生的原材料盘亏、毁损的损失中,应计入“管理费用”科目的是()。
根据增值税法律制度的规定,发牛销售服务的年应税销售额超过一定数额的纳税人为一般纳税人,该数额是()万元。
某建筑公司与客户签订了一项总金额为650万元的固定造价合同,工程已于2005年1月开工,预计2000年8月完工。最初预计总成本为540万元,到2005年底,已发生成本378万元,预计完成合同尚需发生成本252万元。在2005年,已办理结算的工程价款为380
当秘书发现工作场所有异常情况或险情时,()。
校本课程开发的主体是()。
根据《中华人民共和国人民警察使用警械和武器条例》的规定,不属于人民警察使用警械和武器的基本原则的是:
“改革不是一首田园诗,它伴随着眼泪和痛苦”,从“一个较长的历史时期来说,改革会使人人受益”,这两句话所包含的哲学道理是()
设二叉树共有375个结点,其中度为2的结点有187个。则度为1的结点个数是
对长度为n的线性表作快速排序,在最坏情况下,比较次数为()。
A.Themortgagemarket’seasingisontheway.B.Housingkeepstakingpeopleinandoutofrecession.C.Peopledonotcon
最新回复
(
0
)