比较三个数大小

 /* Note:3个数按从小到大的顺序输出 */
#include "stdio.h"
void main()
{
 int a,b,c,min;
 printf("请输入a,b,c:");
 scanf("%d,%d,%d",&a,&b,&c);

 if(a>b)
 {
  min=b;
  b=a;
  a=min;
 }
 if(c<b)
 {
  min=c;
  c=b;
  b=min;
 }
 if(a>b)
 {
  min=b;
  b=a;
  a=min;
 }
 printf("a,b,c按从小到大的顺序排列:%d,%d,%d",a,b,c);
 }

转载于:https://my.oschina.net/saysuqi/blog/618875

要证明比较个数 \(a\)、\(b\) 和 \(c\) 的大小最少需要进行比较,我们可以采用比较的策略来证明这一点。 首先,假设我们有个未知数 \(a\)、\(b\) 和 \(c\)。为了确定它们的大小关系,我们至少需要比较个数,因为单次比较只能提供两个数之间的大小信息。基于这一逻辑,我们可以按以下步骤进行: 1. 首先比较 \(a\) 和 \(b\),得到 \(a\) 和 \(b\) 之间的大小关系。 2. 接着比较 \(a\)(或 \(b\))与 \(c\) 中的较小者(或较大者),以确定这个数与 \(c\) 的大小关系。 3. 最后,由于 \(a\) 和 \(b\) 的比较结果已知,我们只需要用 \(c\) 去比较剩下的那个数(未直接与 \(c\) 比较的那个数),即可确定者之间的最终大小关系。 在最理想的情况下,每次比较都能给出更多信息,使得我们不需要重复比较已经确定大小关系的数。例如,如果第一次比较 \(a\) 和 \(b\) 确定了 \(a > b\),那么第二次比较可以是 \(a\) 和 \(c\),如果 \(c\) 更大,则我们已经知道了 \(c\) 是最大的;如果 \(c\) 更小,则第比较只需要确定 \(b\) 和 \(c\) 的大小关系。这样,通过比较,我们就可以确定个数的完整排序关系。 在最不理想的情况下,每次比较只告诉我们两个数之间的大小关系,但不能确定第个数的位置。例如,第一次比较可能告诉我们 \(a < b\),第二次比较 \(a < c\),但这两步都不能告诉我们 \(b\) 和 \(c\) 的关系。第比较 \(b\) 和 \(c\),我们才能得到所有个数的排序。 因此,无论在最理想或最不理想的情况下,比较个数大小最少需要进行比较
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值