第43题
编写一个函数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);
}