首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用****作为结束输入的标志。) 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号
编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用****作为结束输入的标志。) 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号
admin
2013-03-29
24
问题
编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用****作为结束输入的标志。)
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
void fun(char(*a)[81],int num,char
**max)
{
}
main()
{
char ss[10][81],*ps;void NONO();
int n,i=0;
printf("输入若干个字符串");
gets(ss
);
puts(ss
);
while(!strcrnp(ss
,"***")==0)
{
i++;
gets(ss
);
puts(ss
);
}
n=i;
fun(ss,n,&ps);
printf("\nmax=%s\n",ps);
NONO();
}
void NONO()
{
/*请在此函数内打开文件,输入测试数据,
调用fun函数,输出数据,关闭文件。 */
char qs[20][81],*ps;
int n,i=0;
FILE*rf,*wf ;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
fgets(ss
,81,rf),
while(!strncrap(ss
,"***",4)==0)
{
i++;
fgets(ss
,81,rf);
}
n=i;
fun(ss,n,&ps);
fprintf(wf,"%s",ps);
fclose(rf);
fclose(wf);
}
选项
答案
int i,k=0,maxlen; /*k为a数组中最 长串所在元素的下标,初始为0,maxlen为 其串长*/ maxlen=strlen(a[k]); for(i=1;i
maxlen)( maxlen=strlen(a[i]); k=i; } } *max=a[k];
解析
(1)设置一个指针变量maxlen,使它的初值为第一个字符串,再使其他字符串的长度与maxlen的长度进行比较,若其他字符串的长度大于maxlen,则将其他字符串的首地址赋值给max。
(2)最后返回长度最长的字符串的地址。
转载请注明原文地址:https://kaotiyun.com/show/tWJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面函数调用语句含有实参的个数为func((exp1,exp2),(exp3,exp4,exp5));
函数调用语句;fseek(fp,-20L,SEEK_END);的含义是()
C语言中,系统的标准输入文件是指
以下程序的输出结果是typedefunion{longx[2]inty[4];charz[8];}MYTYPE;MY
设有以下程序,为使之正确运行,请在下划线中填入应包含的命令行。(注:try_me()函数在a:\myfile.txt中有定义。)【】main(){printf("\n");try_me();printf
下面程序段的输出为#include"stdio.h"main(){printf("%d\n",12<<2);}
若有说明chars1[30]="Thecity",s2[]="isbeautiful";,则在使用函数strcat(s1,s2)后,结果是()。
主程序调用findmax函数求出数组中最大元素在数组中的下标,()中需填写的内容是。#include<stdio.h>findmax(int*s,intt,int*k){i
用筛选法可得到2~n(n
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
随机试题
一患儿以肠梗阻入院手术。术中医师将膀胱认作囊肿切除,造成患儿储尿、排尿功能严重受损。该事件中,医师的行为属
A.超急性期心肌梗死B.急性期心肌梗死C.近期心肌梗死D.陈旧性心肌梗死ST段弓背向上抬高提示
在气相色谱法中,当升高载气流速时
细菌芽孢最显著的特性是
痰饮的病机是水肿的病机是
把以下6个句子重新排列,排序正确的一项是()。①但从教育的角度来讲,竞争一定要守住两个“度”。②一个是心理程度,一个是年龄向度。③我们不否认竞争给人们带来的成就感,不否认竞争能推动社会进步。④后者说的是并非任何年
物业管理的财务费用中,()是指公司为筹资和办理各种结算业务而支付给银行和非银行金融机构的各种手续费。
抵押房地产的房屋所有权人是()
电视艺术体现了现代科学技术与艺术的结合,结合具体案例说明并做分析。
孔子说:“三人行,必有我师。”请以此为题,用你身边的某件事对其中的道理进行阐释。字数控制在800以内。
最新回复
(
0
)