首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是: 统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动main函数
请编写函数fun,该函数的功能是: 统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动main函数
admin
2018-03-28
56
问题
请编写函数fun,该函数的功能是:
统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include < string.h >
#include < stdio .h >
#define N 80
int fun (char *s)
{
}
void main ()
{
FILE *wf;
char line[ N] ;
int num=0;
printf ("Enter a string:\n ") ;
gets (line) ;
num = fun (line) ;
printf ( " The number of word
is:%d\n\n",num);
wf = fopen "out.dat", "w") ;
fprintf (wf, "% d", fun ( " a big car"));
fclose (wf);
/*********found*********/
}
选项
答案
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/HDxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>intf(inta)returna%2;}main()ints[8]={1,3,5,2,4,6},i,
设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。下列所示的输入形式中正确的是(注:口代表空格字符)()。
以下程序运行后的输出结果是【】。voidfun(intX,inty){x=x+y;y=x-y;x=x-y;printf("%d,%d,",x,y);}main(){intx=2,y=3;fun(x
对于长度为n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为【】。
下面程序运行后的输出结果是_____。structabc{inta,b,c;}main(){structabcs[2]={{1,2,3},{4,5,6}};intt=s[0].a
下面语句中不能定义一个数组,元素值依次分别为1,1,1,0,0的是______。
设有以下语句,其中不是对a数组元素的正确引用的是:______(其中0≤i≤0)inta[10]={O,12,3,4,5,6,7,8,9},*p=a;
表示“整数x的绝对值大于5”时值为“假”的C语言表达式是______。
阅读下列程序,当运行函数时,输入asdafaaz67,则输出为#include#include#includeintfun(char*str){inti,j=0;for(i=0;str[i]!=′\0′;
随机试题
《中国人民银行法》规定了中国人民银行的职责,具体体现在()。
A.清海丸B.膈下逐瘀汤C.逐瘀止血汤D.补肾祛瘀方E.桂枝茯苓丸治疗子宫肌瘤寒湿凝滞证,应首选
下列行为中应当以贪污罪定罪处罚的是:
2012年4月9日,某企业向银行申领了信用卡,其中一部分作为对管理人员的福利,另一部分作为企业自用。要求:根据上述资料,回答下列问题。下列关于信用卡资金来源的表述,正确的是()。
根据《银行业从业人员职业操守》,银行业从业人员在与客户的接触中,做法不当的有()。
与印度大吉岭茶、斯里兰卡悟伐茶并称为世界三大高香名茶的是()
引起和维持个体的活动并使该活动朝向某一目标的内部推动力量是()
WhatdoestheconferenceheldbyEducationArcadeworkfor?GamesforLearningattachedtosomeproductsmeans
Howmanypeoplearecomingfordinner?Whichofthepiechartsiscorrect?
Consumersandproducersobviouslymakedecisionsthatmoldtheeconomy,butthereisathirdmajor【1】toconsidertheroleofgov
最新回复
(
0
)