#include <stdio.h>
#include <string.h>
void main( )
{
char str[10][80], c[80];
int i;
for(i=0; i<10; i++) gets(str[i]);
strcpy(c, str[0]) ;
for(i=1; i<10; i++) if(strlen(c) <strlen(str[i])) strcpy(c,str[i]);
printf( "%s\n", c);
printf( "%d\n", strlen (c));
}
对头。
程序中str是个二维数组,str[0]就可以代表第一个下标为0的一整行(内容为输入的第一行字符串)。
#include <stdio.h>
#include <string.h>
void main( )
{
char str[10][80], c[80];
int i;
for(i=0; i<10; i++) gets(str[i]); //读入10行字符串
strcpy(c, str[0]) ; //复制第一行字符串
for(i=1; i<10; i++) //扫描后面的所有行的字符串
if(strlen(c) <strlen(str[i])) strcpy(c,str[i]); //如有长度更长的,就复制该行字符串
printf( "%s\n", c); //输出最长的字符串
printf( "%d\n", strlen (c)); //输出最长字符串的长度
}