c语言编写程序,任意三个数,由大小到排序,源代码如何写!
发布网友
发布时间:2022-04-21 09:55
我来回答
共4个回答
热心网友
时间:2023-11-09 08:22
思路:任意三个数按从大到小顺序输出,可以先求出三个数中的最大值和最小值,三个数的和减去最大值和最小值的差就是中间数,接着依次输出。
参考代码:
#include "stdio.h"
int main()
{
int a,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
max=a>b?a:b;
min=a<b?a:b;
if(c>max) max=c;
if(min>c) min=c;
printf("从大到小排序:%d %d %d\n",max,a+b+c-max-min,min);
}
/*
运行结果:
2 1 3
从大到小排序:3 2 1
*/
热心网友
时间:2023-11-09 08:22
通过冒泡方式实现
热心网友
时间:2023-11-09 08:23
#include <stdio.h>
int main( )
{
int a = 8,b = 5,c = 78;
int tmp;
if(a<b)
{
tmp = a;
a = b;
b = tmp;
}
if(a<c)
{
tmp = a;
a = c;
c = tmp;
}
if(b < c)
{
tmp = b;
b = c;
c = tmp;
}
printf("%d\t%d\t%d\n", a, b, c);
}
热心网友
时间:2023-11-09 08:23
#include "stdio.h"
main()
{
int a[3],i,j,t;
printf("请输入三个数\n");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<2;i++)
for(j=1;j<3;j++)
{
if(a[i]<a[j])
{
t=a[j];
a[j]=a[i];
a[i]=t;
}
}
for(i=0;i<3;i++)
printf("%d ",a[i]);
}追问能给我解释一下下嘛· 本人是初学者·
追答就是用双重循环
i=0 即a[0]和a[j] 其中j为1-2 进行比较 把大的数存放到a[0]上
i=1 。。。。。。。。。把大的数存放到a[1]上
。。。
。。