首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之
admin
2020-06-02
36
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<string.h>
#iinclude<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(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 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://www.kaotiyun.com/show/NeCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
按照C语言规定的用户标识符命名规则,不能出现在标识符中的是
以下选项中,能用作数据常量的是
以下不能定义为用户标识符是
有以下程序,程序运行后的输出结果是#include#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){printf("%d\n",NUM);}
若程序中有宏定义行:#defineN100则以下叙述中正确的是
下面描述中不属于数据库系统特点的是
若有定义语句:inta[2][3],*p[3];则以下语句中正确的是
设二叉树共有500个结点,其中叶子结点有250个。则度为2的结点个数是
有以下程序#includemain(){inta=2,b;b=a
有以下程序#include#include"string.h"typedefstruct{charname[9];charsex;floatscore[2];)STU;voidf(STUa)
随机试题
某种化工材料进口数量激增,已经导致国内生产同类产品及与其直接竞争的产品的化工厂受到严重损害。根据对外贸易法律制度的规定,下列说法正确的是()。
用哇巴因抑制钠泵活动后,细胞功能发生的变化有()(2008年)
医师最先采取的步骤是为鉴别与妊娠有关的疾病,最可靠的检查为
虚开增值税专用发票骗取出口退税,数额特别巨大,情节特别严重,给国家利益造成特别重大损失,依照
“杂施而不孙,则坏乱而不修”违背了()教学原则。
四人年龄为相邻的自然数列且最年长者不超过30岁,四人年龄之乘积能被2700整除且不能被81整除。则四人中最年长者多少岁?
更衣:游泳:洗澡
左边给定的是纸盒外表面的展开图,右边哪一项能由它折叠而成?
证明:当χ>0时,χ2>(1+χ)ln2(1+χ).
设f(x)在[a,b]上连续,在(a,b)内二阶可导,f(a)=f(b)=0,且f′+(a)>0.证明:存在ξ∈(a,b),使得f″(ξ)<0.
最新回复
(
0
)