【2022.12.18每日一题c语言】给三个数字由小到大排序

由键盘输入三个整数a、b、c,按从小到大的顺序输出这三个数。

#include <stdio.h>

int main()
{
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    if(a<b&&b<c)
        printf("%d %d %d",a,b,c);
    if(a<c&&c<b)
        printf("%d %d %d",a,c,b);
    if(b<a&&a<c)
        printf("%d %d %d",b,a,c);
    if(b<c&&c<a)
        printf("%d %d %d",b,c,a);
    if(c<a&&a<b)
        printf("%d %d %d",c,a,b);
    if(c<b&&b<a)
        printf("%d %d %d",c,b,a);
    return 0;
}

这种方法比较暴力,直接把全部情况都给列举出来,但是效率特别低,而且容易出错 。

#include <stdio.h>
int main()
{
    int a,b,c,t;//t为中间值
    scanf("%d %d %d",&a,&b,&c);
    if(a>b){
        t=b;
        b=a;
        a=t;
    }
    if(b>c){
        t=c;
        c=b;
        b=t;
    }
    if(a>c){
        t=c;
        c=a;
        a=t;
    }
    printf("%d %d %d",a,b,c);
    return 0;
}

而这种方法直接前后两个对比,如果满足条件则交换。

本人萌新,每日一题仅记录个人的学习过程,如有错误请多多指正,不喜勿喷。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值