首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数
admin
2018-09-27
43
问题
请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。
例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数将返回shanghai。
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 char *fun(char *s,char *t)
3 {
4 }
5 main()
6 { char a[20],b[20];
7 void NONO();
8 printf(’’Input:1th string:’’);
9 gets(a);
10 printf(’’Input 2th string:’’);
11 gets(b);
12 printf(’’%s\n’’,fun(a,b));
13 NONO();
14 }
15 void NONO()
16 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
17 FILE *fp,*wf;
18 int i ;
19 char a[20],b[20];
20 fp=fopen(’’in.dat’’,’’r’’);
21 wf=fopen(’’out;dat’’,’’w’’);
22 for(i=0;i<10;i++) {
23 fscanf(fp,’’%s %s’’,a,b);
24 fprintf(wf,’’%s\n’’,fun(a,b));
25 }
26 fclose(fp);
27 fclose(wf); }
选项
答案
1 int i; 2 char *p=s,*q=t, 3 int n=0,m=0; 4 while(*p)//计算串s的长度n,其中p为临时指针 5 { n++; 6 p++; 7 } 8 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/5Axp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下述函数功能是______。intfun(char*x){char*y=x;while(*y++);retumy-x-1;}
若以下定义:structlink{intdata;strucklink*next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。则能够把c插入到a和
下列能正确定义一维数组的选项是()。
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是
已知head指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next),数据域为整型。以下函数求出链表中所有链结点数据域的和值,作为函数值返回。请在横线处填入正确内容。structlink{intdata;st
若以“a+”方式打开一个已存在的文件,则下列叙述正确的是()。
若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是()。
有以下程序#include.<string.h>main(){char*p="abcde\ofghjik\0";printf("%d\n",strlen(p));}程序运行后的输出结果是
若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是()。#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do
以下函数返回a所指数组中最小的值所在的下标值:fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[j])________return(p);}在下划线处应填入的是
随机试题
关于无形资产的摊销方法,正确的做法有()
缺铁性贫血属于()。
A、选择偏倚B、志愿者偏倚C、信息偏倚D、混杂偏倚E、随访偏倚病例对照研究中,由于对研究对象诊断不正确而造成的偏倚属于
不属于基础与墙(柱)身分界()。
幼稚园“五指活动”的提出者是()。
根据《产品质量法》的规定,下列违法行为情节严重,可能构成犯罪的是()。
回望近代大学的教育成就,我们感受到一种精神震撼。在近代大学校长群体中,那些著名的大学校长是当之无愧的教育家,他们之所以成长为教育家,与近代社会转型对教育提出的新要求、国家民族危机赋予教育的新使命等时代因素有密切的联系,但根本还是由这些校长的内在素养,尤其是
设A为3阶实对称矩阵,且满足条件A2+2A=O,A的秩r(A)=2.(1)求A的全部特征值;(2)当k为何值时,矩阵A+kE为正定矩阵,其中E为三阶单位矩阵.
Themanwenttoprison,butthetwoboys______withawarning.
A、Bytaxi.B、Bybus.C、Bycar.D、Onfoot.B女士说在上下班高峰期乘坐拥挤的公交车让她感到厌烦,男士告诉女士可以买一辆二手车或者坐出租车。由此可见,女士目前乘坐公交车去上班。
最新回复
(
0
)