python数字从大到小排列_将三个数字从小到大排列(或者从大到小排列)c及python...

将三个数字从小到大排列(或者从大到小排列)c及python

很基础的算法题

输入三个整数x,y,z,请把这三个数由小到大输出。

c:

一般情况下,我们是用三个if来进行一个数字的变化,很简单的依次排序。

代码如下:

#includeint main( )

{

int a , b , c ,t;

scanf(“%d , %d , %d” , &a , &b ,&c) ;

printf(“\n\n a=%d , b=%d , c=%d \n” ,a , b , c) ;

if(a>b)

{t=a ; a=b ; b=t ;}

if(a>c)

{t=a ; a=c ; c=t ;}

if(b>c)

{t=b ; b=c ; c=t ;}

printf(“\n\n a=%d , b=%d , c=%d \n” ,a , b , c) ;

}

2.我做一道题的时候,喜欢将这道算法的解法都尽量写出来,所以还有第二种思路。

第二种思路其实不难,我们在这里放三个数字,a b c。要是他不满足a#include#includeint main()

{

int x,y,z,a;

scanf("%d %d %d",&x,&y,&z);

while(1)

{

if(x>y)

{a=x;x=y;y=a;}

if(y>z)

{a=y;y=z;z=a;}

if(x<=y&&y<=z)

break;

}

printf("%d %d %d",x,y,z);

}

python:

python相对c有很多其他的用法,用法很多,我就不一一详解,我们可以用尽量短的代码去完成这个算法,那么我们有何必去使用更长的呢?

这里我使用了字典以及列表的转化,排序函数,以及一次迭代

代码如下:

a['A'],a['B'],a['C']=map(int,input().split())

b_list=sorted(list(a.values()))

for i in range(3):

print(b_list[i]," ",end="")

大家注意在列表中sorted函数是有返回值的,他的返回值是一个排序好的列表,而sort函数的返回值却是none,所以这里的list(a.values())也可以在后面加上.sort()

这里的values函数是提出字典中的值,并返回一个名为dic_values列表,大家有兴趣可以去查一下,这里就不详解了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值