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