首先 你用sizeof 这个肯定是不对的
我简单改了一下,但是没有考虑长度一致的情况
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main()
{
char ch,ch1[5][100] = {'\0'};
int i,j,n = 0,max = 0,min = 1000;
for(i = 0;i < 5;i++){
printf("请输入%d句话:",i+1);
n = 0;
while((ch = getchar()) != '\n'){
ch1[i][n] = ch;
n++;
}
ch1[i][n] = '\0';
if(n > max){
max = n;//找到最长的字符串的个数
}
if(n < min){
min = n;//找到最短的字符串的个数
}
}
printf("你输入了下边5句话\n");
for (i = 0; i < 5;i++){
printf("%s\n",ch1[i]);
if (strlen(ch1[i]) == max){
max = i;//通过挨个比较字符串的个数来确定最长的字符串
}
if(strlen(ch1[i]) == min ){
min = i;//通过挨个比较字符串的个数来确定最短的字符串
}
}
printf("其中最长的是:%s\n",ch1[max]);
printf("其中最短的是:%s\n",ch1[min]);
return 0;
}
|