首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijing shanghai(为回车键),函数将返回shangha
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijing shanghai(为回车键),函数将返回shangha
admin
2020-07-28
46
问题
请编写一个函数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全国计算机二级
相关试题推荐
下面是面向对象主要特征之一的是
下面不属于软件需求分析阶段任务的是
下列叙述中正确的是
软件(程序)调试的任务是
构成计算机软件的是
若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是
有以下程序main(){unsignedchara=2,b=4,c=5,d;d=a|b;d&=c;printf("%d\n",d);}程序运行后的输出结果是
设有定义:char*c;以下选项中能够使c正确指向一个字符串的是
C语言主要是借助以下哪种手段来实现程序模块化
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。调用fun函数输出字符串,当奇数次调用时要求把字符串中的小写字母转换成大写字母,偶数次调用时按输入字符串的逆序输出字符串。请改正函数fun中指
随机试题
下列因素中,不属于全球化任务环境的是()
关于宫颈黏液结晶,以下哪项错误
与血浆蛋白结合率最高的药物是
患者,女性,24岁,因左上智齿颊向高位阻生,要求拔除。注射局部麻醉药后同侧颊部随即出现肿胀,这是发生了
人民法院可以根据具体情况对不同的证据采用不同的保全方法,下列行为不是证据保全方法的是( )。
公司解散的原因可以是()。
某债券的面值为1000元,票面利率为5%,剩余期限为10年,每年付息一次,同类债券的预期收益率始终为5%,那么,预计()。
全陪应做好必要的物质准备,主要包括()。
近年来全国多个大城市举办了地球熄灯一小时节能活动,该活动经过几年的时间已扩展到了全球80多个国家。对于这项活动你怎么看?
Astheroadwasblockedbyarock,thetravelershadto______uparockyslopeontheirwayback.
最新回复
(
0
)