首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是: 统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROGl.C中。 请勿改动main函数
请编写函数fun,该函数的功能是: 统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROGl.C中。 请勿改动main函数
admin
2021-04-28
39
问题
请编写函数fun,该函数的功能是:
统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。
注意:部分源程序在文件PROGl.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
#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(lihe);
printf("The number of word
is:%d\n\n",num);
/*********found*********/
wf=fopen("out.dat","w");
fprintf(wf,"%d",fun("a big
car"));
fclose(wf);
/*********found*********/
}
选项
答案
Int tun(cnar*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/jDtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下叙述中正确的是
有以下程序#include<stdio.h>#include<string.h>StructA{inta;charb[10];doublec;};structAf(structAt);main(){structAa={100
下面关于“EOF”的叙述,正确的是
若以下选项中的变量a,b,y均已正确定义并赋值,则语法正确的switch语句是
以下叙述中正确的是
若有以下程序main(){intc;C=1315;printf("%d\n",c);}则程序的输出结果是
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和
若有定义语句:inta,b,c,*p=&c;,接着执行以下选项中的语句,则能正确执行的语句是()。
若有定义语句:char*s1="OK",*s2="ok";以下选项中,能够输出"OK"的语句是
与数学表达式x≥y≥z对应的C语言表达式是
随机试题
甲和乙共同拥有一项专利权,但未对权利的行使进行约定。下列哪些说法是正确的?
篆刻是一门融书法、章法、刀法于一体的艺术,人们把篆刻、书法、绘画相提并论,称为“金石书画”。[湖南2020]()
Peterstaysathomewithoutajob,buthegetsgood______.
细菌细胞具有
A.寒闭证B.痰热内闭心包证C.温热病,热闭心包及热盛动风证D.邪热内陷心包证E.暑秽苏合香丸主治
氧苷按苷元不同可分为
A、地西泮的3-羟基活性代谢物B、奥沙西泮C、丙戊酸钠D、羟布宗E、可待因代谢时可生成吗啡的是()。
根据《INCOTERMS2000》的解释,以CIF贸易术语成交合同,如果买卖双方无其他约定,卖方可以向保险公司投保()。
下列关于资产负债率的论述中,错误的是()。
[*]
最新回复
(
0
)