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

Python019

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

初学简单版本代码如下:

#include<stdio.h>

int main( )

{

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

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

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

if ( a <b )

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

if ( a <c )

{t = aa = cc = t }//同上

if ( b <c )

{t = bb = cc = 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 = 0j <n - 1j++)

for (i = 0i <n - 1 - ji++)

{

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 = 0i <SIZEi++)

{

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

}

}

2、选择排序

#include<stdio.h>

void main()//主函数

{

int a[10]

int i,j,w

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

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

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

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

{

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

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

//比较后进行交换

{

w=a[i]

a[i]=a[j]

a[j]=w

}

最小用min 不要用main. 这个是主函数名 不能和变量重复的.

# include <stdio.h>

int main (void)

{

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( c<min ) min = c//这里用<

printf("从大到小排序:%d %d %d\n",max,a+b+c-max-min,min)

return 0

}