怎样将三个整数从大到小输出

:首先定义三个数,再利用if逐个判断

文章目录

  • 前言
  • 一、方法(一)
  • 三、方法(二)
    • 1.定义
    • 2.判断和比较
  • 总结


前言

 :主要是对我本人平时写代码问题的总结和记录,仅供参考


一、方法(一)

1.定义

代码如下(示例):

int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	scanf("%d %d %d", &a, &b, &c);

2.判断a>b的情况

代码如下(示例):

    if (a > b)
    {
        if (b > c)
        {
            printf("%d %d %d", a, b, c);
        }
        else if (b < c)
        {
            if (a > c) {
                printf("%d %d %d", a, c, b);
            }
            else

                printf("%d %d %d", c, a, c);
        }
    }

3.判断a<b的情况

代码如下(示例):

	else if (a < b)
	{
		if (b < c)
		{
			printf("%d %d %d", c, b, a);
		}
		if (b > c)
		{
			if (a > c) {
				printf("%d %d %d", b, a, c);
			}
		}
	}
	return 0;
}

该思路分为a>b和a<b两种情况的判断,进一步判断b和c的关系,再判断a和c的关系,进而得出三个数的大小顺序并打印(共判断了6次)


三、方法(二)

:方法二不同的是定义一个tmp用来赋值,不用反复的判断a、b、c之间的关系,始终把最大的值赋给a,大值往左边传送(只用进行三次判断)

1.定义

代码如下(示例):

int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	int tmp = 0;
	scanf("%d %d %d", &a, &b, &c);

2.判断和比较

代码如下(示例):

	if (a < b)
	{
		tmp = a;
		a = b;
		b = tmp;
	}
	if (a < c)
	{
		tmp = a;
		a = c;
		c = tmp;
	}
	if (b < c)
	{
		tmp = b;
		b = c;
		c = tmp;
	}
	printf("%d%d%d", a, b, c);
	return 0;
}

总结

第二种方法相对于第一种思路较为清晰和简便,只用判断三次,第一种方法笨拙且需要判断6次。

想起从前小学,比较三个数的大小也是通过三次判断得出结论。

在这里,第二种方法也是如此,第一种有点无脑了,光想着用if来判断,打印的时候还得思考一下判断出来的顺序,希望通过这次的总结能得到经验,下次灵活一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值