首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijingshanghai(为回车键),函数将返回shanghai。
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijingshanghai(为回车键),函数将返回shanghai。
admin
2015-06-08
39
问题
请编写一个函数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全国计算机二级
相关试题推荐
以下选项中,正确运用指针变量的程序段是()。
模块化程序设计主要强调的是()。
设有定义:longx=-123456L;,则以下能够正确输出变量x值的语句是
以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下。main(){intn,k;floatscore;sum,ave;sum=0.0;for(n=1;n<=10;n++)
程序设计方法要求在程序设计过程中()。
一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【】。
实体之间的联系可以归结为一对一联系、一对多(或多对多)的联系与多对多联系。如果一个学校有许多教师,而一个教师只归属于一个学校,则实体集学校与实体集教师之间的联系属于______的联系。
数据的完整性是指数的正确性、有效性和______。
用筛选法可得到2~n(n
用筛选法可得到2~n(n
随机试题
向公众宣传医药保健及法律知识是有权否定危及安全、有效、合理用药的用药方案是
在国际货物运输方式中,运用最广泛的是()。
某企业从设备租赁公司租借一台设备,该设备的价格为48万元,租期为6年,折现率为12%,若按年金法计算,则该企业每年年初等额支付的租金为( )万元。
地方性统计法规不得与()相抵触。
基金信息披露的规范性文件有( )。
下列有关商誉减值会计处理的说法中错误的是()。
菲利普斯曲线说明了货币政策之间存在矛盾的是()。
花老师认为,营造活泼的课堂氛围,开展小组讨论,鼓励学生们在课堂上踊跃表达自己的看法,有助于同学们更加充分地展示自我、获取知识。花老师的看法说明她所看重的是课堂管理的()。
设函数f(x)在[0,1]上连续.证明:∫01ef(x)dx∫01e-f(y)≥1.
Once______MacDougalBoulevard,thestreetisundergoingrepairsandwillbecalledCosaBoulevardaftertheconstructioniscomp
最新回复
(
0
)