2207122216 发表于 2022-10-30 20:04:13

为什么这个找最大值有问题啊

#include<stdio.h>
int main()
{
      int a,b,c,d,e,f,g,h,i,j,k;
      scanf("%d%d%d%d",&a,&b,&c,&d);
      d=a+b+c+d;//总成绩
      e=(a+b+c+d)/4;//平均分
      f=(a>b)?a:b;
      g=(c>d)?c:d;
      h=(g>f)?g:f;//得到最大值
      i=(a>b)?b:a;
      j=(c>d)?d:c;
      k=(i>j)?j:i;//得到最小值
      printf("%d\n%d\n%d\n%d\n",d,e,h,k);
      return 0;
}

jackz007 发表于 2022-10-30 20:13:39

本帖最后由 jackz007 于 2022-10-30 20:37 编辑

#include<stdio.h>
int main()
{
      int a , b , c , d , e , f , h , k                                                                     ;
      scanf("%d%d%d%d" , & a , & b , & c , & d)                                                             ;
      e = a + b + c + d                                                                                     ; //总成绩
      f = e / 4                                                                                             ; //平均分
      h = (a > b && a > c && a > d) ? a : (b > a && b > c && b > d) ? b : (c > a && c > b && c > d) ? c : d ;
      k = (a < b && a < c && a < d) ? a : (b < a && b < c && b < d) ? b : (c < a && c < b && c < d) ? c : d ;
      printf("%d %d %d %d\n" , e , f , h , k)                                                               ;
}

2207122216 发表于 2022-10-30 20:23:47

jackz007 发表于 2022-10-30 20:13


找最大值还是有问题输入70 80 90 100会出输出340 85 340 70

jackz007 发表于 2022-10-30 20:30:30

2207122216 发表于 2022-10-30 20:23
找最大值还是有问题输入70 80 90 100会出输出340 85 340 70

         被你的代码带坑里了,键盘输入的成绩 d 被覆盖成了总分,2 楼代码已经改好。
页: [1]
查看完整版本: 为什么这个找最大值有问题啊