孤世星辰 发表于 2020-3-29 16:04:31

二维数组问题

本帖最后由 孤世星辰 于 2020-3-29 16:19 编辑

1 #include<stdio.h>
2 #define m 100
3 int main()
4 {
5         char sl;
6         int i,j,k,ch,min,max,temp;
7         for(i=0;i<5;i++)
8         {
9               k=i+1;
10               printf("请输入第%d句话:",k);
11               for(j=0;(ch=getchar())!='\n';j++)
12               {
13                         sl=ch;
14               }
15               sl='\0';
16         }
17         printf(" 您输入了下面五句话:");
18         min=0;
19         max=min;
20         for(i=0;i<5;i++)
21         {
22               printf("%s\n",sl);
23               temp=strlen(sl);
24               min = temp < strlen(sl) ? i : min;
25               max = temp > strlen(sl) ? i : max;
26         }
27         printf("其中最长的是:%s\n",sl);
28         printf("其中最短的是:%s\n",sl);
29         return 0;
30 }
还有24,25行这样写,万一存在等于的情况呢?没有影响么

wantto 发表于 2020-3-29 16:10:03

11行ch=getchar()好像少了一个括号

孤世星辰 发表于 2020-3-29 16:18:33

wantto 发表于 2020-3-29 16:10
11行ch=getchar()好像少了一个括号

好像是括号打错了位置,但是最后那个比较为啥不考虑等于的情况呢

张冲。 发表于 2020-3-29 16:32:11

这个题只是小甲鱼老师出的课后作业题,应该不会有那么多特殊情况,做练习嘛,就看成五句长短不一的句子好了,但是根据题主所想的要是出现等于语句的话那么两个长度相等的句子在一条一条比较,因为没有min或max相等的情况,那么两条语句靠后的那一条语句应该无作用,只把第一条语句打印成最大或最小语句吧。(个人观点,嘿嘿嘿{:10_245:})

孤世星辰 发表于 2020-3-29 16:35:19

张冲。 发表于 2020-3-29 16:32
这个题只是小甲鱼老师出的课后作业题,应该不会有那么多特殊情况,做练习嘛,就看成五句长短不一的句子好了 ...

主要是就算有一样的运行出来还是没有问题,这里面感觉就有什么我不知道的神秘力量

孤世星辰 发表于 2020-3-31 09:25:10

顶一下哇

就是要努力呀 发表于 2020-3-31 16:19:36

=不属于> 也不属于< 所以=的时候这24行和25行都会判定为假

孤世星辰 发表于 2020-3-31 16:51:23

就是要努力呀 发表于 2020-3-31 16:19
=不属于> 也不属于< 所以=的时候这24行和25行都会判定为假

哦哦懂了
页: [1]
查看完整版本: 二维数组问题