首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用****作为结束输入的标志。) 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号
编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用****作为结束输入的标志。) 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号
admin
2013-03-29
59
问题
编写一个函数,从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全国计算机二级
相关试题推荐
在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为______。
长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【】。
有以下程序intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=1;i<5;i++)j+
若变量已正确定义并赋值,以下符合C语言语法的表达式是
以下程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(键表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。#include<stdio.h>structlis
本程序用改进冒泡法对数组a[n]的元素从小到大排序,请在程序空白处填空。voidbubble(inta[],intn){intj,k,jmax,temp;jmax=【】;do{
数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和【】两个含义。
以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中的其他数据不变。#defineN4voidrotate
设变量已正确定义,则以下能正确计算f=n!的程序段是 ______。
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
随机试题
多由Morax-Axenfeld双杆菌感染引起可导致永久性秃睫的眼病是
患者,男,67岁。发现皮肤黄染2个月,体重下降10kg,查体皮肤巩膜黄染,腹平软,Courvoisier征阳性,肝脾不大。化验血清总胆红素增高,以结合胆红素为主,尿胆原阴性,尿胆红素阳性。该患者的黄疸最可能是
上、下切牙的切端向唇侧倾斜的度数是
认为利息的本质是资本自身生产力的产物,这种观点属于()。
作为走向人生的完成阶段,是()。
阅读下面这篇公文。回答下列问题。关于同意组织人事干部赴美考察的批复×政发[2013]第56号人事局:
某厂新建的一条生产线,每8秒可生产某型号电子元件3件,则1小时该生产线可生产该型号电子元件()。
A、 B、 C、 D、 E、 D
文档如果想通过WWW浏览器来显示,就必须要符合__________的标准。
What’stheairportlike?
最新回复
(
0
)