洛谷 P5715 三个数按照从小到大排序

这是一个经典的例题,与比较两个数的大小的方式相同,建立一个中间变量,对数的大小进行排序。但不同的是,这个题在思路上较为复杂一点。

思路:我们规定好输出的顺序从小到大依次是a,b,c,建立一个中间变量t,像比较两个数的大小的方法那样,对大小顺序进行转换,把较小的值放在前面,把较大的值放在后面。

#include<stdio.h>

int main()
{
	int a, b, c, t;
	scanf("%d%d%d", &a, &b, &c);
 
	if( a > b )
	{
		t = a;//a较大,把a放在后面,b放在前面,用t进行转换 
		a = b;
		b = t;
	}

	if( a > c)
	{
		t = a;//a较大,把a放在后面,c放在前面,用t进行转换 
		a = c;
		c = t;
	}

	if( b > c )
	{
		t = b;//b较大,把b放在后面,c放在前面,用t进行转换 
		b = c;
		c = t;
	}

	printf("%d %d %d",a,b,c);
	
	return 0;
}

如果( a <b )或( a < c)或( b < c )的话,就不用转换顺序,直接输出即可,所以也不用写else语句。这个题经典就在于思路,对于我这种初学者,题目见识少的人来说可能一开始无从下手,特此记录。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值