要求:本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。
输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。
我这个代码只输出第一个读的字符串,我通过检查发现是35行不会进去,但是我觉得没有问题,所以是哪里出错了呢
int main() {
int N = 0, i = 0, m = 0, e = 0;
scanf("%d",& N);
char A[83] = { 0 };//chang的那个
int qda = 0;
char B[83] = { 0 };//当前
int da = 0;
getchar();
for (i = 0; i < N; i++) {
B[82] = { 0 };
da = 0;
for (m = 0; m < 83; m++) {
B[m] = getchar();
if (B[m] == '\n') {
break;
}
da++;
}
if (i == 0) {
for (m = 0; m < da; m++) {
A[m] = B[m];
qda = da;
}
}
else {
for (m = 0; m < 83; m++) {
printf("1");
if (A[m] == '0' && B[m] != '0') {
for (e = 0; e < da; e++) {
A[e] = B[e];
}
qda = da;
break;
}
if (A[m] != '0' && B[m] == '0' || A[m] == '0' && B[m] == '0') {
printf("2");
break;
}
}
}
}
for (i = 0; i < qda; i++) {
if (i == 0) {
printf("The longest is: %c", A[i]);
}
else {
printf("%c", A[i]);
}
}
return 0;
}