标题
寻找最长的行
类别
字符串
时间限制
1S
内存限制
1000Kb
问题描述
寻找若干行文本中最长的一行
输入说明
输入为多个字符串(每个字符串长度不超过100个字符),每个字符串占一行,输入的行为“***end***”时表示输入结束
输出说明
输出其中最长的一行长度后换行再输出最长行的内容,如果最长行不止一个,则输出其中的(!不是整个字符串数组的第一行,不用flag)第一行。
输入样例
abce
abdf dlfd
***end***
输出样例
9
abdf dlfd
#include#include int main() { char s[100][100]={0}; char maxline[100]={0}; char endline[]="***end***"; long long unsigned int maxlen=0; int i=0; while(1)//无限循环 { gets(s[i]);//换行帮助阻断gets if(!strcmp(s[i],endline))//比较字符串只能用strcmp,不能用==、>、< { break; } if(strlen(s[i])>maxlen) { maxlen=strlen(s[i]); strcpy(maxline,s[i]);//这个复制函数,会让被粘贴的数组在被粘贴之前清空 //不会粘到它的末尾。因为那样是strcat函数 } } printf("%lldn%s",maxlen,maxline);//只含有一个字符串的字符数组直接用其名代表这串字符 //为什么是%lld?因为strlen函数的输出类型就是 //long long unsigned int,所以最好对应 return 0; }



