三整数排序

看《算法竞赛入门经典》(刘汝佳编著)的第一天

——三整数排序——

输入3个整数,从小到大排序后输出。

样例输入:

 20 7 33

样例输出:

7 20 33

【代码】

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

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
整数链表排序的c源代码 说明:试按以下给出的排序算法整数链表编写一个排序函数: 该算法是按表元键值的各位值进行排序。 设有一个整数链表,其中表元的键值为不超过位数的整数,不妨设键值形式ABC。其中A表示键值的百位数,B为十位数,C为个位数。首先按键值中的个位值C对链表作分拆和链接,先把链表分拆成10个队列链表,然后以C的值从0至9的顺序把分拆后的十个队列链表重新收集成一个链表。接着依次对键值中的B和A进行同样的分拆和链接操作,则最后收集起来的链表是按键值从小到大排序链接的。如有一个链表按它们的键值其表元的链接顺序依次为: 153 678 56 288 457 653 721 876 433 254 按它们的键值的个位分拆,得到十个队列链表,列出它们的键值顺序有: 0: 空链表 1: 721 2: 空链表 3: 153 653 433 4: 254 5: 空链表 6: 56 876 7: 457 8: 678 288 9: 空链表 顺序将它们收集一起后,链表的键值顺序有: 721 153 653 433 254 56 876 457 678 288 再按它们键值的十位分拆,得到十个队列链表,列出它们的键值顺序有: 略。 顺序将它们收集在一起后,链表的键值顺序有: 略。 再按它们键值的百位分拆,得到十个队列链表,列出它们的键值顺序有: 略。 顺序将它们收集一起后,链表的键值顺序有: 56 153 254 288 433 457 653 678 721 876 要求: 1、 试用C语言编程实现以上功能 2、 10个数字随机生成 3、 程序可读性好 ps:头文件#include<stdafx.h> 中包含 #include <stdio.h> #include <malloc.h> #include <time.h> #include <stdlib.h>
### 回答1: 以下是整数降序排序的代码示例: ```python a = int(input("请输入第一个整数:")) b = int(input("请输入第二个整数:")) c = int(input("请输入第整数:")) if a >= b: if b >= c: print(a, b, c) elif a >= c: print(a, c, b) else: print(c, a, b) else: if a >= c: print(b, a, c) elif b >= c: print(b, c, a) else: print(c, b, a) ``` 代码中,首先通过 `input()` 函数获取整数的值,然后使用嵌套的 `if-else` 语句进行排序,最终输出排序后的结果。 ### 回答2: 这个问题是要求对整数进行排序,按照降序排列。我们可以使用一个简单的方法来解决这个问题。 首先,我们假设这整数分别为a、b和c。我们可以使用个变量来存储这些整数,并对它们进行比较和交换。 首先,我们可以比较a和b的大小。如果a比b大,我们可以将它们进行交换,这样a将变为较小的数,b将变为较大的数。接下来,我们再比较b和c的大小。如果b比c大,我们可以将它们进行交换,这样b将变为较小的数,c将变为较大的数。 最后,我们再次比较a和b的大小。如果a比b大,我们可以将它们进行交换,这样a将变为最小的数,b将变为中间的数,c将变为最大的数。这样,我们就可以得到按照降序排列的整数。 总结起来,我们只需要进行次比较和交换操作,就可以将整数按照降序排列。 希望对你有帮助! ### 回答3: 要对整数进行降序排序,可以使用冒泡排序算法。 首先,设定整数为a、b和c。如果a小于b,交换a和b的值;如果b小于c,交换b和c的值。这样,最大的数会被放在c的位置上。 接下来,再次比较a和b的大小,如果a小于b,交换a和b的值。这样,第二大的数会被放在b的位置上。 最后,比较b和c的大小,如果b小于c,交换b和c的值。这样,最小的数会被放在a的位置上。 通过以上步骤,整数就会按照降序排列。 举个例子,如果a=6,b=2,c=9。首先比较6和2,交换后得到a=2,b=6,c=9。然后再次比较2和6,不需要交换。最后比较6和9,交换后得到a=2,b=9,c=6。最终结果为9,6,2。 这样,我们可以得到降序排列的整数

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值