首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijing shanghai(为回车键),函数将返回shangha
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijing shanghai(为回车键),函数将返回shangha
admin
2020-07-28
38
问题
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。
例如,输入beijing
shanghai
(
为回车键),函数将返回shanghai。
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数maln和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
char *fun (char *s,char *t)
{
}
main()
{char a[20],b[20];
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[20],b[20] ;
fp= fopen("in.dat","r");
wf= fopen ("out.dat"f "w");
for(i = 0 ; i < 10 ,i++) {
fscanf (fp, "%s %s", a, b);
fprintf (wf, "%s\n", fun (a,b));
}
fclose( fp);
fclose (wf); }
选项
答案
1 int i; 2 char *p=sr * q=t; 3 int n=0,m=0; 4 {while(* p)//计算串s的长度n,其中p为临时指针 5 {n++; 6 p++; 7 } 8 n while(* q)//计算串t的长度m,其中q为临时指针 9 {m++; 10 q++; 11 } 12 if(n>=m) //比较m和n的值,设置p指向较大的指针 13 p=s; 14 else 15 p=t; 16 return p;
解析
该程序功能是比较两个字符串的长度。解题过程是首先分别求得两个字符串的长度,然后对这两个值进行判断,实现两个字符串长度的比较。
进入fun函数,根据前面的分析:
(1)首先求得字符串的长度,设变量n和m分别用来求字符串的长度,初值设为0,把字符串中的字符逐个访问,每访问一个字符,n和m分别加1,直到字符串结束;
(2)使用两个临时指针变量p、q分别作为访问字符串的变量;
(3)根据m和n的值返回串,设置指针p,指向返回串的开始地址。
字符数组和字符串、指针作为函数的参数。
转载请注明原文地址:https://kaotiyun.com/show/bF3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
不属于对象构成成份的是
下面不属于软件需求分析阶段任务的是
下列叙述中正确的是
下列叙述中正确的是
下面属于黑盒测试方法的是
若变量均已正确定义并赋值,以下合法的C语言赋值语句是
有以下程序main(){unsignedchara=2,b=4,c=5,d;d=a|b;d&=c;printf("%d\n",d);}程序运行后的输出结果是
有以下程序#include<stdio.h>structSTU{charname[9];charsex;intscore[2];};voidf(structSTUa[]){structSTUb={"zhao",’m’,85,9
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。调用fun函数输出字符串,当奇数次调用时要求把字符串中的小写字母转换成大写字母,偶数次调用时按输入字符串的逆序输出字符串。请改正函数fun中指
随机试题
定时电路输出的是余弦波。()
酶反应中决定酶专一性的部分是
龋病的易感因素不包括
针灸治疗遗尿,常选的耳穴是()
1台35kV、2000kVA、35±2×2.5%/0.4kV的配电变压器,其低压侧中性点电流互感器的一次额定电流一般取下列何值?
[事故经过]2005年2月14日15时1分,辽宁省阜新矿业(集团)有限责任公司(以下简称阜矿集团公司)某煤矿某立并发生一起特别重大瓦斯爆炸事故,造成214人死亡,30人受伤,直接经济损失4968.9万元。2005年2月14日15时3分,某煤
一份报关单只允许填报一个运输工具名称。( )
某公司计划从日本进口50辆某种汽车,每辆重10吨,每辆汽车的装运港船上交货价为20万美元,海运费为400美元/吨;海运保险费和银行财务费分别为货价的3‰和4‰,外贸手续费为运费,保险费在内价的2%,增值税率为17%,关税率为20%,消费税率为30%,从到货
设x=06l,y=016,则z=x|y的值是()。
Theterm"formallearning"referstoalllearningwhichtakesplaceintheclassroomregardlessofwhethersuchlearningisinfo
最新回复
(
0
)