题目----从小到大输出

简介: 题目----从小到大输出

写代码将三个整数数按从大到小输出。

例如:

输入:2 3 1

输出:3 2 1

针对这类问题,我们都可以归类为换位问题

如果输入的是2 3 1,但是输出的却不是2 3 1,就说明变量发生了换位操作。

针对一般的换位操作,我们可以类比生活中的现象:

现在你有一个杯子装着a另一个装着b,你想要把这两个杯子中的液体进行互换,但是如果直接进行互换是不可行的,因为杯中始终有液体无法空出来存放置换后的液体。所以我们需要再额外添加一个空杯子c杯来存放a,这时候杯子空出来了,b也就可以倒进这个杯中,而此时b杯空出来了,a也就可以倒进b杯实现兑换。

在编程中也是如此实现。

我们只要添加一个变量来存放原有的其中一个变量也就可以实现换位操作。

所以代码如此:

#include <stdio.h>
int main()
{
    int a = 2;
    int b = 3;
    int c = 1;
    scanf("%d%d%d",&a, &b,&c);
    if(a<b)
    {
        int tmp = a;
        a = b;
        b = tmp;
    }
    if(a<c)
    {
        int tmp = a;
        a = c;
        c = tmp;
    }
    if(b<c)
    {
        int tmp = b;
        b = c;
        c = tmp;
    }
    printf("a=%d b=%d c=%d\n", a, b, c);
    return 0;
}
目录
打赏
0
0
0
0
11
分享
相关文章
|
11月前
|
LeetCode算法题---无重复字符的最长子串、寻找两个正序数组的中位数(三)
LeetCode算法题---无重复字符的最长子串、寻找两个正序数组的中位数(三)
87 0
LeetCode------合并两个有序数组(4)【数组】
这篇文章介绍了LeetCode上的"合并两个有序数组"问题,并提供了三种解法:第一种是使用Java的Arrays.sort()方法直接对合并后的数组进行排序;第二种是使用辅助数组和双指针技术进行合并;第三种则是从后向前的双指针方法,避免了使用额外的辅助数组。
LeetCode------合并两个有序数组(4)【数组】
|
11月前
|
题目----LeeCode热题100--1 两数之和
题目----LeeCode热题100--1 两数之和
67 1
LeetCode------两数之和(3)【数组】
这篇文章介绍了LeetCode上的"两数之和"问题,提供了两种解法:一种是暴力求解法,通过双层循环遍历数组元素对查找两数之和为目标值的索引,时间复杂度为O(n^2);另一种是使用HashMap优化,通过存储元素值和索引,时间复杂度降低到O(n)。
LeetCode------两数之和(3)【数组】
|
11月前
题目----数据结构线性表----字符串逆序
题目----数据结构线性表----字符串逆序
46 1
|
10月前
|
C语言----随机输入10个数,从小到大依次排列
C语言----随机输入10个数,从小到大依次排列
240 0
|
10月前
|
C语言-----输入10个数,对其从大到小进行排列
C语言-----输入10个数,对其从大到小进行排列
123 0
|
11月前
题目----逆序
题目----逆序
32 0
题目----力扣--合并两个有序数组
题目----力扣--合并两个有序数组
49 0
|
11月前
题目----序列中删除指定数字
题目----序列中删除指定数字
63 0