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