首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijingshanghai(为回车键),函数将返回shanghai。
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijingshanghai(为回车键),函数将返回shanghai。
admin
2017-11-27
77
问题
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。
例如,输入beijing
shanghai
(
为回车键),函数将返回shanghai。
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数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","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://www.kaotiyun.com/show/f6xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
()的任务是诊断和改正程序中的错误。
以下叙述中错误的是()。
有以下程序:#include<stdio.h>main(){charcl=’1’,c2=’2’;cl=getchar();c2=getchar();putchar(c1);putchar(c2);}当运
设已有定义:floatx;则以下对指针变量P进行定义且赋初值的语句中正确的是()。
有以下程序#includestmctstu{intnum;charname[10];intage;};voidfun(structstu*p){printf(“%s\n”,P->name);)
设有以下程序段structMP3{charname[20];charcolor;floatprice;}std,*ptr;ptr=&std;若要引用结构体变量std中的color成
以下程序的运行结果是____________。#defineA4#defineB(x)A*x/2main(){floatc,a=8.0;c=B(a);printf(“%f\n”
运行下面的程序,输入字符串MicrosoftVisualStudio,则程序的执行结果是()。#includemain(){charChr[20];scanf(“%s”,&Chr);pfintf
有以下字符串,说明表达式strten(s)值的是()。chars[10]={‘a’,‘\n’,‘a’,‘b’,‘\t’,‘c’};
在int(*prt)[3];定义中,标识符prt()。
随机试题
A.将人体分为上下两部分B.将人体分为左右两部分C.将人体分为前后两部分D.将人体分为左右相等的两部分E.将人体分为上下相等的两部分矢状面
实际工作岗位中,制冷工属于操作制冷压缩机及辅助设备,使制冷剂和载冷体在生产系统中循环制冷的人员。()
苏子降气汤与定喘汤主治证的主要不同点为
下列关于原核生物转录延长过程的叙述哪项是错误
男,60岁。慢性咳嗽11年,近5年出现活动后气促,双肺可闻广泛哮鸣音,双肺下野可闻湿性哕音,X线胸片示肺纹理增强,最可能的诊断是
编制控制性详细规划的主要依据是()。
在工程所在国当地采购的材料设备,其预算价格应为施工现场交货价格,包括:市场价、运输费和()。
历史永远没有_____的真相,崔永元和他的团队用口述历史的方式,带领我们这些陌生人穿越时空的隧道,一点点_____真相。在这个历史逐渐模糊的时代,他们尽力_____口述历史库这口无底深洞,但愿能唤起人们对民族之根久违的敬仰。填入画横线部分最恰当的一项是:
楼宇经济:是指一种以商务商贸商用楼宇为载体的经济形态,通过开发、出租楼宇,招商引资,引进各类企业,从而开发税源,带动区域经济发展。以下属于楼宇经济的现象是()。
某公司为了扩大其网上商店的销售收入,采取了各种各样的广告宣传和促销手段,但是效果并不明显。该公司重金聘请了专业人士进行市场分析,专业人士认为开通了网上银行的人群才是真正潜在的网上商店的顾客群。于是该公司决定与商业银行合作,在新开通网上银行业务的人群中开展宣
最新回复
(
0
)