用二维数组保存输入的字符串,并将最长的字符串及其长度输出

如题所述

#include "stdio.h"
#include <string.h>
int main(int argc,char *argv[]){
char s[10][200];
int sl,i,ii,t;
printf("Input 10 strings...\n");
for(sl=ii=i=0;i<10;i++){
scanf("%s",s[i]);
if((t=strlen(s[i]))>sl)
sl=t,ii=i;
}
printf("The longest string is \'%s\', its length is %d.\n",s[ii],sl);
return 0;
}

运行样例:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-22
//刚写的,测试通过,如果有疑问,欢迎讨论
#include<stdio.h>
#include<string.h>

#define M 10
#define N 100

int main(){
char tar[M][N];
int num; 
scanf("%d", &num);
getchar();
int max_len = 0;
int max_idx = 0;
for(int i = 0; i<num; i++){
gets(tar[i]);
if(max_len < strlen(tar[i])){
max_len = strlen(tar[i]);
max_idx = i;
}
}
puts(tar[max_idx]);
printf("%d\n", max_len);
return 0;
}

本回答被提问者和网友采纳