A36860. 编写一个函数fun,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用****作为结束输入的标志。)#include <stdio.h>#include <stdlib.h>#include <string.h>void fun(char(*a)[81], int num, char **max){int i, maxlen; maxlen=strlen…
题目描述
编写一个函数fun,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用****作为结束输入的标志。)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fun(char(*a)[81], int num, char **max)
{
int i, maxlen;
maxlen=strlen(a[0]);
for(①)
{
if(②)
{
③
*max=a[i];④
}
}
main()
{
char ss[10][81], *ps;
void NONO();
int n, i=0;
printf("输入若干个字符串:");
gets(ss[i]);
puts(ss[i]);
while(!strcmp(ss[i],"****")==0)
{
i++;
gets(ss[i]);
puts(ss[i]);
}
n=i;
fun(ss, n, &ps);
printf("\nmax=%s\n", ps);
NONO();
}
void NONO ()
{/* 请在此函数内打开文件,输入测试数据,
调用函数,输出数据,关闭文件。 */
char ss[20][81], *ps;
int n, i=0;
FILE *rf, *wf;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
fgets(ss[i], 81, rf);
while(!strncmp(ss[i],"****",4)==0)
{
i++;
fgets(ss[i], 81, rf);
}
n=i;
fun(ss, n, &ps);
fprintf(wf, "%s", ps);
fclose(rf);
fclose(wf);
system("pause");
}
参考答案
<p>1. 正确答案: i=1;i<num;i++</p><p>2. 正确答案: maxlen<strlen(a[i])</p><p>3. 正确答案: maxlen=strlen(a[i]);</p><p>4. 正确答案: *max=a[i];</p>