测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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>
上一题 下一题