at一 2022-09-12 09:15 采纳率: 100%
浏览 393
已结题

c语言能不能比较负数大小?

该问题是比较三个整数大小,当我输入三个正整数或者两个正整数一个负数时都没问题,但是当有两个负数一个正数时,就会输出两次正数,这是为啥啊?


#include<stdio.h>
int main(){
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    if(a>b){
        if(c>a){printf("%d",c);
        }if(c<b){printf("%d",a);
        }if(a>c>b){printf("%d",a);
        }
    }if(b>a){
        if(c>b){printf("%d",c);
        }if(c<a){printf("%d",b);
        }if(b>c>a){printf("%d",b);
        }
    }
    return 0;
}
  • 写回答

5条回答 默认 最新

  • 天寒雨落 全栈领域新星创作者 2022-09-12 09:29
    关注
    #include <stdio.h>
    int main() {
        int a, b, c;
        scanf("%d %d %d", &a, &b, &c);
    
        if (a > b) {
            if (c > a) {
                printf("%d", c);
            }
    
            if (c < b) {
                printf("%d", a);
            }
    
            if (a > c && c > b) {
                printf("%d", a);
            }
        }
    
        if (b > a) {
            if (c > b) {
                printf("%d", c);
            }
    
            if (c < a) {
                printf("%d", b);
            }
    
            if (b > c && c > a) {
                printf("%d", b);
            }
        }
    
        return 0;
    }
    
    

    运行结果:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 9月20日
  • 已采纳回答 9月12日
  • 创建了问题 9月12日