首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是: 统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动main函数
请编写函数fun,该函数的功能是: 统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动main函数
admin
2018-03-28
38
问题
请编写函数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>main(){inta[]={1,2,3,4},y,*p=&a[3];--p;y=*p;printf("y=%d\n",y);}程序的运行结果是()。
若有以下程序段:intm=0xabc,n=0xabc;m-=n;printf("%X\n",m);执行后输出结果是()。
fgets(str,n,fp)函数从文件中读入一个字符串,以下错误的叙述是()。
数据库系统的核心是
软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和【】的设计来实现。
排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、______和选择排序。
以下程序的功能是进行位运算main(){unsignedchara,b;a=7^3;b=~4&3;printf("%d%d\n",a,b);}程序运行后的输出结果是
下列程序中的函数stropy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。#include<stdi
数据库系统中实现各种数据管理功能的核心软件称为【】。
随机试题
公共权力
关于小肠的解剖生理,下列哪项是错误的
男,47岁,上腹部疼痛不适、腹胀,皮肤巩膜黄疸,进行性加重,皮肤瘙痒。声像图如下图所示,最可能的诊断为
提出“夫画者,成教化,助人伦,穷神变,测幽微”的著作是()。
关于对教师依法进行表彰,以下说法错误的是()。
社区服务站是非营利性公共服务机构,要坚持“依法、公开、高效、便民”的工作原则,为社区居民提供优质服务。()
假定其他条件不变,下列因素中不会导致货币升值的是()。
[*]
关系数据库规范化的目的是()
Isadog______animal?
最新回复
(
0
)