(C语言)输入3个数a,b,c,要求按由小到大的顺序输出————两个变量值的互换

a=b;//把变量b的值赋给变量a,a的值等于b的值

b=a;//再把变量a的值赋给变量b,变量b的值没有改变

因此为了实现交换,必须借助于第三个变量;

t=a;

a=b;

b=t;

借助变量t,实现变量a和变量b互换值

【例】输入3个数a,b,c,要求按由小到大的顺序输出。

算法步骤

S1:if a>b,将a和b对换(交换后,a是a、b中的小者)

S1:if a>c,将a和c对换(交换后,a是a、c中的小者)

S3:if b>c,将b和c对换(交换后,b是b、c中的小者)

S4:顺序输出a,b,c的值

在经过第一次交换值后,a<=b,经过第二次交换值后a<=c,这样a已是三者中最小的(或最小者之一),但是b和c谁大还未解决,还需要进行比较和互换。经过第三次互换值后,a<=b<=c。


#include <stdio.h>

int main() {
    int a,b,c,t;
    printf("输入三个实数a、b、c分别为:");
    scanf("%d,%d,%d",&a,&b,&c);
    printf("由小到大排列为:");
    if(a>b) {
        t=a; //借助变量t,实现变量a和变量b互换值
        a=b;
        b=t;
    }           //互换后,a小于或等于b
    if(a>c) {//借助变量t,实现变量a和变量c互换值
        t=a;
        a=c;
        c=t;
    }           //互换后,a小于或等于c
    if(b>c) {//借助变量t,实现变量b和变量c互换值
        t=b;
        b=c;
        c=t;
    }            //互换后,b小于或等于b
    printf("%d,%d,%d\n",a,b,c);//顺序输出a,b,c的值
    return 0;
}

59f0dd7a178a43558af9827261d1b7ae.jpg 

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值