首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开一行的开始没有空格。 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函
请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开一行的开始没有空格。 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函
admin
2015-08-23
74
问题
请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开一行的开始没有空格。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#define N 8 0
int fun(char*s)
{
}
main()
{char line[N]; int num=0;voidNONO();
printf("Enter a string :\n");
gets(line);
num=fun(lime);
printf("The number of word is:
%d\n\n",num);
NONO();
}
void NONO()
{/*请在此函数内打开文件,输入测试数据,
调用fun函数,输出数据,关闭文件。 */
FILE*rf, *wf ; int i, num ; char
1ine[N],*p;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<1 0;i++) {
fgets(line,N,rf);
P=strchr(line,’\n’);
if(P!=NULL)*p=0 ;
num=fun(line);
fprintf(wf,"%d\n",mum);
}
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://www.kaotiyun.com/show/QHDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
已知i、j、k为int型变量,若要从键盘输入2、3、4<CR>,使I、j、k的值分别为2、3、4,
若有定义:“inta[2Ⅶ3];”则对a数组的第i行第j列元素的正确引用为()
若各选项中所用变量己正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是()。
有下列程序:fun(intx,inty){retum(x+y);}main(){inta=1,b=2,c=3,sum;stun=fun((a++,b++,a+b),c++);printf("%d\n",su
已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是【】。#includemain(){chara,b;
有以下程序:voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[
有以下程序:main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}程序运行后的输出结果是______。
下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。请填空。#include#includemain(){chara[]="clanguage",t;inti,j,k;k=strlen(a);f
变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
随机试题
脑复苏中初期复苏的处理是()
有关儿童期,以下描述哪项是错误的
患儿,6岁,尿频、尿急、尿痛3天,门诊以急性泌尿道感染收入院,目前,护士考虑患儿主要的护理问题是
某企业盈余公积年初余额为50万元,本年利润总额为600万元.所得税费用为150万元.按当年净利润的10%提取法定盈余公积,按当年净利润的5%提取任意盈余公积。该企业盈余公积年末余额为()万元。
《会计法》规定,()必须设置总会计师。
请观察下面这幅漫画,谈谈你的看法。
目前各种形式的大量的文艺作品,没内涵、缺生活,缺少社会意识,缺失人文关怀、时代精神,这几乎成了一种通病。过度娱乐化、远离心灵的文艺创作占据了主流文艺,文艺中泛娱乐化倾向严重,高雅文化已不再被向往和尊重。一些文艺创作人士,希望把人民币以正当稿费的形式尽快装进
瘦报(山东大学,2010)
PASSAGEONE
A、JapanesestudentsstudymuchharderthanColumbianstudents.B、ColumbianstudentsscorehigherthanJapanesestudentsinmaths
最新回复
(
0
)