zhuzhuluo 发表于 2022-1-24 15:05:59

输入三个数然后输出其中的最大值


下面是我的代码,不太知道怎么写,{:5_100:}
int main()
{
        int a,b,c,t;
        printf("请输入三个数:");
        scanf("%d,%d,%d",&a,&b,&c);
        if(a>b>c)
        {
                printf("三者中最大值是a=%d",a);
        }
        else if(a>c>b)
        {
                printf("三者最大值是a=%d",a);
        }
        else if(b>a>c)
        {
                printf("三者最大值是b=%d",b);
        }
        else if(b>c>a)
        {
                printf("三者中最大值是b=%d",b);
        }
        else if(c>a>b)
        {
                printf("三者中最大值是c=%d",c);
        }
        else if(c>b>a)
        {
                printf("三者中最大值是c=%d",c);
        }
        return 0;
}
然后我输入3,4,5这三个数它输出来的结果是3{:5_100:}

basketmn 发表于 2022-1-24 15:09:56

不能直接写成a>b>c, 写成这样就成了a>b的结果再与c比较大小
必须写成a>b&&b>c

柿子饼同学 发表于 2022-1-24 16:20:25

本帖最后由 柿子饼同学 于 2022-1-24 16:26 编辑

对 , 应该写成a>b && b>c的形式
不过你这个代码把所有的情况都写了 , 有点不必要#include <bits/stdc++.h>
using namespace std;
int main(){
        int a, b, c, max;
        scanf("%d%d%d", &a, &b, &c);
       
        if(a > b){
                if(a > c){
                        max = a;
                }
                else{
                        max = c;
                }
        }
        else{
                if(b > c){
                        max = b;
                }
                else{
                        max = c;
                }
        }
       
        printf("%d", max);
       
        return 0;
}
这样逻辑顺一点 , 而且省力

jhq999 发表于 2022-1-24 18:12:24

if(a>b)
   max=a;
else
   max=b;
if(c>max)max=c;

柿子饼同学 发表于 2022-1-25 20:01:29

jhq999 发表于 2022-1-24 18:12


啊啊啊厉害厉害{:10_266:} {:10_266:}
楼主看我这层楼上的帖子 , 那个更简单

zhuzhuluo 发表于 2022-1-29 11:19:52

柿子饼同学 发表于 2022-1-25 20:01
啊啊啊厉害厉害
楼主看我这层楼上的帖子 , 那个更简单

谢谢你啦{:5_92:}

zhuzhuluo 发表于 2022-1-29 11:21:11

basketmn 发表于 2022-1-24 15:09
不能直接写成a>b>c, 写成这样就成了a>b的结果再与c比较大小
必须写成a>b&&b>c

谢谢你啦{:5_92:}

zhuzhuluo 发表于 2022-1-29 11:21:41

jhq999 发表于 2022-1-24 18:12


谢谢你啦{:5_92:}
页: [1]
查看完整版本: 输入三个数然后输出其中的最大值