c语言对三个数字进行排序,[编程入门]三个数字的排序-题解(C语言代码)

本文介绍了如何使用C++实现对三个整数进行排序的算法,主要聚焦于求解中间值的方法。通过比较找到最大值和最小值,然后利用(a+b+c)-最大值-最小值来确定中间值。这种方法巧妙且简洁。注意在编程过程中避免符号混淆,确保代码的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解题思路:据题目要求,按从小到大排序,那么就需要得到最大值,最小值以及中间值才能排序。也就是说要让电脑知道,什么是最大,什么是最小然后再来排序。

大小的比较有做差法(a-b>0),做商法(a\b>1)等等……

首先我们先做简单的,求最大值和最小值。

做题做的多的可能立马就把      min=(a

但是我注意到一点,就是中间的值较为难求,这也是这里最难的地方(大概?)

一共就3个数字,我们要就事论事,既然最大值和最小值都十分的好求,那么为什么不能利用(中间值)=a+b+c-最大值-最小值    来求出中间值呢?这样不香吗?

注意事项:不要把;和:混淆了,不然很难看出什么地方错误了。

参考代码:

#include

int main()

{

int a,b,c,x1,x2,x3;

scanf("%d%d%d",&a,&b,&c);

x1=(a

x3=(a>b?a:b)>c?(a>b?a:b):c;

x2=a+b+c-x1-x3;

printf("%d %d %d",x1,x2,x3);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值