首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数mai
请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数mai
admin
2015-06-08
30
问题
请编写函数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全国计算机二级
相关试题推荐
观察题目要求,可以知道以下几点:①for循环的结束条件应当是:str[i]已是字符串的最后一个字符;②str[i]代表字符串str中的第i+1个字符;③整形变量num的值是要记录的单词的个数。C语言中规定字符串的最后一个字符是一个隐含的字符串结束符
若有以下定义:intt[3][2];,能正确表示t数组元素地址的表达式是______。
有如下程序段inta=14,b=15,x;charc=’A’;x=(a&&B)&&(c<’B’);执行该程序段后,x的值为______。
有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=
有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",
设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是_______。
请读程序:#include<stdio.h>main(){inta,b;for(a=1,b=1;a<=100:a++){if(b>=20)break;if(b%3=1
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_______。
函数pi的功能是根据以下近似公式求π值:(π*π)/6=1+1/(2*2)+1/(3*3)+…+1(n*n)现在请你在下面的函数中填空,完成求π的功能。#include“math.h"{doubles=0.0;
随机试题
WhatdoShoesCanDo?Researcherssaypeoplecan【C1】______(accurate)judge90percentofastranger’spersonalitybylookin
症见脘腹痞闷而胀,进食尤甚,拒按,嗳腐吞酸,恶食呕吐,矢气频作,味臭如败卵,舌苔厚腻,脉滑,其治法为
交界性肿瘤的特征是()
下列关于社区护理的描述,错误的一项是()
患者,男性,19岁,不慎被玻璃划伤面部软组织,查见左耳前区皮肤长约5cm纵行创口,创缘整齐、有活跃的出血。确切的诊断应是面部软组织的
初产妇,34岁,足月妊娠,分娩过程中该孕妇的膀胱充盈,出现血尿,子宫体和子宫下段出现病理性缩复环,胎动频繁,胎心率快慢不一,考虑为子宫破裂的先兆,以下处理哪项不正确
脑出血并发脑疝时,瞳孔的变化是
《南极条约》对缔约国在南极的领土要求的规定是()。
场景某城市桥梁工程由某路桥工程公司承担施工任务。该路桥工程公司在预应力筋的施工过程中,通过计算确定了下料长度,并采用先张法对预应力筋进行张拉,并对施加预应力所用的机具设备及仪表设置专人使用管理,并制订定期维护和校验制度。根据场景,回答下列问题。钢质
Manyoftheearliestcolonialhousesthatarestillstandinghavebeensomodifiedandenlargedthatthe(i)____designisnolo
最新回复
(
0
)