7-61 找最长的字符串(15 分)
本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。
输入格式:
输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。
输出格式:
在一行中用以下格式输出最长的字符串:
The longest is: 最长的字符串
如果字符串的长度相同,则输出先输入的字符串。
输入样例:
5
li
wang
zhang
jin
xiang
输出样例:
The longest is: zhang
#include <stdio.h>
#define MAXN 80
int main(void) {
int n, i, max_lenght = 0, max_index = 0, j;
char input[10000][MAXN]; //该题某用例给的字符串很多,因此这里定义10000
scanf("%d", &n);
for (i = 0; i <= n; i++) {
for (j = 0; j < MAXN; j++) {
scanf("%c", &input[i][j]);
if (input[i][j] == '\n') {
break;
}
}
}
for (i = 0; i <= n; i++) {
for (j = 0; j < MAXN; j++) {
if (input[i][j] == '\n') {
if (j > max_lenght) {
max_lenght = j;
max_index = i;
}
}
}
}
printf("The longest is: ");
for (i = 0; i < max_lenght; i++) {
printf("%c", input[max_index][i]);
}
printf("\n");
return 0;
}