问题 N: 零基础学C/C++159——最长字符串
题目描述
给定一系列不同长度的字符串,找出最长的一串后输出
输入
输入为多组测试数据。
第一行为一个正整数n(n<=10),表示字符串的个数。
接下来有n行,每行一个字符串,字符串仅包含英文字母,长度不超过50。
输出
输出最长的字符串。
样例输入 Copy
3
a
bc
def
样例输出 Copy
def
题解
看到这个通过率与提交率有点疑惑778/2271,后来发现有点坑
如果你是AC83%,那么恭喜你,基本是换行忘加了,最后一个检测点需要\n
如果不是,那么就需要看以下代码了(s[][]也可以这么使用)
代码(AC)
点击查看代码
#include<stdio.h>
#include<string.h>
int a[10010];
char s[10010][51];
int main()
{
int n;
while (scanf("%d",&n)!=EOF)
{
for(int i=0;i<n;i++)
{
scanf("%s",&s[i]);
a[i]=strlen(s[i]);
}
int max=0,flag;
for(int i=0;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
flag=i;
}
}
printf("%s\n",s[flag]);
}
return 0;
}