初學簡單版本代碼如下:
成都創新互聯公司是專業的灤平網站建設公司,灤平接單;提供成都網站制作、成都做網站,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行灤平網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!
#includestdio.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、選擇排序
#includestdio.h
void main()//主函數
{
int a[10];
int i,j,w;
printf("請輸入10個數字: \n");
for(i=0;i10;i++)
scanf("%d",a[i]);
for(i=0;i10;i++)
{
for(j=i+1;j10;j++)
if(a[i]a[j])//進行比較
//比較后進行交換
{
w=a[i];
a[i]=a[j];
a[j]=w;
}
一:全局變量
#include?stdio.h
int?a,b,c;??//定義三個全局變量
void?sort()??//不需要參數
{
int?t;
if(ab)
{
t=a;a=b;b=t;
}
if(bc)
{
t=b;b=c;c=t;
}
if(ab)
{
t=a;a=b;b=t;
}
}
int?main()
{
printf("輸入:");
scanf("%d%d%d",a,b,c);
sort();
printf("排序:%d??%d??%d\n",a,b,c);
return?0;
}
二:指針
#include?stdio.h
void?sort(int?*a,?int?*b,?int?*c)?//參數傳遞方式:地址傳遞
{?
int?t;
if(*a*b)?
{
t=*a;*a=*b;*b=t;
}
if(*b*c)
{
t=*b;*b=*c;*c=t;
}
if(*a*b)?
{
t=*a;*a=*b;*b=t;
}
}
int?main()
{
int?a,b,c;
printf("輸入:");
scanf("%d%d%d",a,b,c);
sort(a,b,c);???????????????//把地址作為參數
printf("排序:%d??%d??%d\n",a,b,c);
return?0;
}
具體操作方法如下:
#includestdio.h
int main(void)
{int a,b,c,t;
printf("請輸入三個數");
scanf("%d%d%d",a,b,c);
if(ab)
{t=a;a=b;b=t;}
if(bc)
{t=b;b=c;c=t;}
if(ab)
{t=a;a=b,b=t;}
printf("從大到?。?d %d %d",a,b,c);
system("pause");
return 0;}
注意:中間的t=a;a=b;b=t,就是交換a和b的位置,總是把大的換到前面來。
擴展資料:
c語言任意輸入5個數,并按從大到小順序輸出的方法如下:
#include stdio.h
#include stdlib.h
int main()
{int a[5];
int i,j,k;
for(i=0;i=4;i++)
{scanf("%d",a[i]);}
for(i=0;i=4;i++){
for(j=0;j=4;j++)
{if(a[i]a[j])
{k=a[i]; a[i]=a[j]; a[j]=k;}}}
printf("排序結果是:\n");
for(i=0;i=4;i++)
{ ?printf("%d\t",a[i]);
}return 0;
兩個數的排序,只需要比較一下,如果第一個比第二個大,交換一下,否則什么都不用做。
三個數的排序 ,可以先將前兩個排序,保證第一個比第二個小。
然后將第二個和第三個數排序,保證第二個比第三個小。
經過上面兩次排序,保證了第三個是最大的,但不能保證第二個還比第一個大,因為第二次排序的時候可能改變了第二個數。因此,還要再將前兩個數進行排序。最終保證了三個整數從小到大排列。
用C語言編寫通過if將3個數排序:
#includestdio.h/*函數頭:輸入輸出頭文件*/
void main()/*空類型:主函數*/
{
inta,b,c,t;/*定義變量的數據類型為整型*/
printf("輸入3個數,中間用空格隔開:");/*輸出文字提示*/
scanf("%d%d%d",a,b,c);/*輸入3個數字*/
if(ab)/*判斷a是否小于b*/
{t=a;a=b;b=t;}/*是,則a、b的值互換*/
if(ac)/*判斷a是否小于c*/
{t=a;a=c;c=t;}/*是,則a、c的值互換*/
if(bc)/*判斷b是否小于c*/
{t=b;b=c;c=t;}/*是,則b、c的值互換*/
printf("從小到大:%d,%d,%d\n",c,b,a);/*輸出從小到大排列的數*/
printf("從大到?。?d,%d,%d\n",a,b,c);/*輸出從大到小排列的數*/
}
擴展資料
輸入三個數,比較其大小,并從大到小輸出。
#includestdio.h
int main(){
inta,b,c;
scanf("%d%d%d",a,b,c);
if(ab){
intflag=a;
a=b;
b=flag;
}
if(ac){
intflag=a;
a=c;
c=flag;
}
if(bc){
intflag=b;
b=c;
c=flag;
}
printf("%d%d%d",a,b,c);
}