C语言中要把三个数从大到小排列出来应该怎么编?

我是初学者,请说得越简单越好,谢绝Ctrl+C

初学简单版本代码如下:

#include<stdio.h>

int main( ) 

{

int a, b, c;//定义三个数的变量 

int t ;//定义作为交换的变量 

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

if ( a < b )

{t = a; a = b; b = t ;};//如果a,b,进行交换,反之不动 

if ( a < c )

{t = a; a = c; c = t ;};//同上 

if ( b < c )

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

printf( "%-5d%-5d%-5d\n" , a, b, c);//输出 

}

扩展资料:

C语言中其他多个数排序的方法:

1、冒泡排序法

#include <stdio.h>

#define SIZE 8

void bubble_sort(int a[], int n);

void bubble_sort(int a[], int n)

{

int i, j, temp;

for (j = 0; j < n - 1; j++)

for (i = 0; i < n - 1 - j; i++)

{

if(a[i] > a[i + 1])

{

temp = a[i];

a[i] = a[i + 1];

a[i + 1] = temp;

} } }

int main()

{

int number[SIZE] = {95, 45, 15, 78, 84, 51, 24, 12};

int i;

bubble_sort(number, SIZE);

for (i = 0; i < SIZE; i++)

{

printf("%d\n", number[i]);

}

}

2、选择排序

#include<stdio.h>

void main()//主函数

{

int a[10];

int i,j,w;

printf("请输入10个数字: \n");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<10;i++)

{

for(j=i+1;j<10;j++)

if(a[i]<a[j])//进行比较

//比较后进行交换

{

w=a[i];

a[i]=a[j];

a[j]=w;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-08
设3个数分别等于a,b,c

1、先比较a,b大小,如果a大,则进行下一步继续比较,如果b大,则a,b的数值互换

2、同上这次是b,c比较大小

3、最后显示a,b,c本回答被提问者采纳
第2个回答  2008-11-19
先用数组存储三个数,再将三个数互相比较,用A[0],A[1],A[2],分别存放最大到最小就OK了,排序算法的难点在于如何比较或者说采用什么样的方法比较。
第3个回答  2008-11-22
经过测试,符合要求
#include "stdio.h"
main()
{
int a,b,c,n,m,p;
scanf("%d%d%d",&a,&b,&c);
if(b>a)n=a,a=b,b=n;
if(c>a)m=a,a=c,c=m;
if(c>b)p=c,c=b,b=p;
printf("%d>%d>%d",a,b,c);
}
第4个回答  2008-11-19
a>b?(a>c?a:c):(b>c?b:c);//找出abc中最大的输出

余下两个数用if比较大小输出即可
相似回答