三个数排序 交换值

#include<iostream>
using namespace std;
void swap(int &a,int &b)
{ int t;
t=a;
a=b;
b=t;
}
void main()
{
int a,b,c;
cout<<"please input 3 number:";
cin>>a>>b>>c;
if(a>b)
swap(a,b);
if(b>c)
swap(b,c);
if(a>c)
swap(a,c);


cout<<a<<b<<c;


}
C语言实现个数排序主要有以下几种方法: ### 不使用函数 从控制台输入个整数`a`、`b`、`c`,使用`if`语句进行条件判断,如果`a`大于`b`,则借助于中间变量`temp`互换`a`与`b`的,依此类推比较`a`与`c`、`b`与`c`,最终结果即为`a`、`b`、`c`的升序排列。示例代码如下: ```c #include &lt;stdio.h&gt; int main() { int a, b, c, temp; printf(&quot;请输入个整数:&quot;); scanf(&quot;%d %d %d&quot;, &amp;a, &amp;b, &amp;c); if (a &gt; b) { temp = a; a = b; b = temp; } if (a &gt; c) { temp = a; a = c; c = temp; } if (b &gt; c) { temp = b; b = c; c = temp; } printf(&quot;从小到大排序后的结果为:%d %d %d\n&quot;, a, b, c); return 0; } ``` ### 定义函数 定义一个交换个数的函数`swap`,在`main`函数中输入个数,通过指针调用`swap`函数进行比较和交换,最终实现排序。示例代码如下: ```c #include &lt;stdio.h&gt; void swap(int *, int *); int main(void) { int a, b, c; int *p1, *p2, *p3; printf(&quot;Input a, b ,c:&quot;); scanf(&quot;%d %d %d&quot;, &amp;a, &amp;b, &amp;c); p1 = &amp;a; p2 = &amp;b; p3 = &amp;c; if(a &gt; b) swap(p1, p2); if(a &gt; c) swap(p1, p3); if(b &gt; c) swap(p2, p3); printf(&quot;%d %d %d\n&quot;, a, b, c); return 0; } void swap(int *s1, int *s2) { int t; t = *s1; *s1 = *s2; *s2 = t; } ``` ### 从大到小排序 通过多次比较和交换操作,实现个数从大到小的排列。示例代码如下: ```c #include &lt;stdio.h&gt; int main() { int a, b, c, t; scanf(&quot;%d %d %d&quot;, &amp;a, &amp;b, &amp;c); if (a &lt; b) { t = a; a = b; b = t; } if (b &lt; c) { t = b; b = c; c = t; } if (a &lt; c) { t = a; a = c; c = t; } printf(&quot;从大到小排序后的结果为:%d %d %d\n&quot;, a, b, c); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值