首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijingshanghai(为回车键),函数将返回shanghai。
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijingshanghai(为回车键),函数将返回shanghai。
admin
2015-06-08
101
问题
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。
例如,输入beijing
shanghai
(
为回车键),函数将返回shanghai。
注意:部分源程序存在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#inoiude
char*fun(char*s,char * t)
{
}
main()
{ char a[20],b[2 0];
void NONO();
printf(“Input 1th string:”);
gets(a);
printf(“Input;2th string:”);
gets(b);
printf(“%s\n”,fun (a, b));
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp,*wf;
int i ;
char a[2 0],b[2 0];
fp=fopen(“in.dat”,“r”);
wf=fopen(“out.dat”,“w”);
for(i=0;i<10;i++) {
fscanf(fp,“%s%s”,a,b);
fprintf(wf,“%s\n”,fun(a,b));
}
fclose(fp);
fclose(wf);
}
选项
答案
int i: char*p=s, *q=t; int n=0,m=0 ; while(*p) //计算串s的长度n,其中p为临时指针 { n++; p++; } while(*q) //计算串t的长度m,其中q为临时指针 { m++; q++; } if(n>=m) //比较m和n的值,设置p 指向较大的指针 p=s; else p=t; return p;
解析
该程序功能是比较两个字符串的长度。解题过程是首先分别求得两个字符串的长度,然后对这两个值进行判断,实现两个字符串长度的比较。
[解题思路]
进入fun函数,根据前面的分析:
(1)首先求得字符串的长度,设变量n和m分别用来求字符串的长度,初值设为0,把字符串中的字符逐个访问,每访问一个字符,n和m分别加1,直到字符串结束。
(2)使用两个临时指针变量p、q分别作为访问字符串的变量。
(3)根据m和n的值返回串,设置指针p,指向返回串的开始地址。
转载请注明原文地址:https://kaotiyun.com/show/waJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
库函数strcpy用以复制字符串,若有以下定义和语句:charstr1[]="china",str2[10],*str3,*str4="china";则对库函数strcpy的正确的调用是_______。
若以下选项中的变量已正确定义,则正确的赋值语句是()。
若有定义inta=10,b=9,c=8;,接着顺序执行下列语句,变量b中的值是【】。c=(a-=(b-5));c=(a%11)+(b=3);
有定义语句:“inta=1,b=2,c=3,x;”,则以下选项中各程序段执行后,x的值不为3的是()。
以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件的具体位置,从而确定文件长度,请填空。FILE*myf;longfl;myf=【】("test.t","rb”);fs
若有如下结构体说明:structSIRU{inta,b;charc:doubled;structSTRU*p1,*p2;};请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型。【】t[2
数据库管理系统是位于用户与【】之间的软件系统。
有定义语句:intx,y;若要通过scanf("%d,%do,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是
设a,b,c,d,m和n均为int型变量,且a=5,b=6,c=7,d=m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()
已知二叉树BT的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______。
随机试题
下列属于美国联邦政府独立行政机构的是()。
Workingonanewspaperisaverybusyjob.Manynewspapers【21】eachday,andtheyhaveto【22】peoplewithallthelatestnews.The
风邪的致病特点是
(2011年)在等精度测量条件下,对某管道压力进行了10次测量,获得如下数据(单位:kPa):475.3,475.7,475.2,475.1,474.8,475.2,475.0,474.9,475.1,475.1。则该测量列平均值的标准误差等于()
关于基金份额在上海证券交易所场内系统和场外系统之间进行的转托管,下列叙述正确的有( )。
()对人类性行为进行“软”控制。(2004年6月三级真题)
在心理学中,两难故事法通常用来研究()。
皮尔是个非常有远见的英国资本家。他经过认真细致的考察,发现新荷兰(澳大利亚)的斯旺河物产富饶。于是,他把价值5万英镑的生活资料和生产资料从英国带到斯旺河去,并同时带去了工人阶级的3000名男工、女工和童工,企图在那里赚取剩余价值。可是,工人阶级的300
复合语句是用( )括起来的一段代码。
Whatisthepurposeofthespeech?
最新回复
(
0
)