|
发表于 2021-8-26 13:06:22
|
显示全部楼层
首先 你用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;
- }
复制代码 |
|