C语言题,高手进

来源:百度知道 编辑:UC知道 时间:2024/06/05 12:50:35
9. 编写函数int fun(char (*ss)[N],int m,char *s),功能是:形参ss指向一个m行N列的二维字符数组,每行存放一个字符串。求出最大的字符串,复制到s所指的字符数组中,然后返回此最大字符串的长度。
#define N 30
int fun(char (*ss)[N],int m,char *s)
{
}
main()
{char a[8][N],b[N];
int i,len;
for(i=0;i<8;i++)
gets(a[i]);
len=fun(a,8,b);
printf("len=%d,str=%s\n",len,b);
}
不用string。h
他的意思估计是不用string写出strcmp

#include "string.h"
#define N 30
int fun(char (*ss)[N],int m,char *s)
{
int ilen=-1;

int iPose=0;

int iLen1;

for(int i=0;i<m;i++)
{
iLen1=strlen(ss[i]);
if (iLen1>ilen)
{
ilen=iLen1;

iPose=i;
}
}
strcpy(s,ss[iPose]);
return ilen;
}
main()
{char a[8][N],b[N];
int i,len;
for(i=0;i<8;i++)
gets(a[i]);
len=fun(a,8,b);
printf("len=%d,str=%s\n",len,b);
return true;
}

//自己换个函数名

#include <stdio.h>

#define N 30

int fuck(char (*ss)[N],int m,char *s)
{
unsigned int i,j,p;
unsigned int n,count;

//查找最长的串
n=0;
for(i=0;i<(unsigned int)m;i++)
{
count=0;
for(j=0;j<N;j++)
{
if(ss[i][j]==0)break;
count++;
}
if(count>n) //如果找到的比