填空题

编写一个函数proc,从传入的M个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用***作为结束输入的标志)。


请勿改动main0函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

void proc(char(*a)[81],int num,char **max)

{

    int i;

    *max=a[0];

    for(①)

    {

        if(②)

        {

            ③

        }

    }

}

main()

{

    void NONO();

    char ss[10][81],*ps;

    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;

    proc(ss,n,&ps);

    printf("\nmax=%s\n",ps);

    NONO();

    system("pause");

}

void NONO()

{/* 请在此函数内打开文件,输入测试数据,

 调用 函数,输出数据,关闭文件。 */

    char ss[20][81],*max;

    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;

    proc(ss, n, &max);

    fprintf(wf, "%s",max);

    fclose(rf);

    fclose(wf);

}

赣ICP备20007335号-2