本文目錄一覽:
C語言中要把三個數從大到小排列出來應該怎麼編?
初學簡單版本代碼如下:
#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;
}
C語言中三個數排序
用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);
}
用C語言比較三個數的大小,並按照從大到小排序
#include stdio.h
#include math.h
int main(void)
{
int a,b,c;
printf(“請輸入任意三個整數a,b,c:”);
scanf(“%d%d%d”,a,b,c);
int s;
if(ab)s=a,a=b,b=s;//比較a,b大小,通過賦值,使得ab 。此語句目的:ab
if(ac)s=a,a=c,c=s;//進一步比較a,c大小,通過賦值得出最小值,並賦給a; 此語句目的:ac
if(bc)s=b,b=c,c=s;//最後比較出b,c中的較大值。
printf(“從大到小的順序依次是:%d%d%d”,c,b,a);
return 0;
}
用C語言對三個數從大到小排序
最小用min 不要用main. 這個是主函數名 不能和變量重複的.
# include stdio.h
int main (void)
{
int a,b,c,max,min;
scanf(“%d %d %d”,a,b,c);
max = ab?a:b;
min = ab?a:b;
if( cmax ) max = c;
if( cmin ) min = c;//這裡用
printf(“從大到小排序:%d %d %d\n”,max,a+b+c-max-min,min);
return 0;
}
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/128298.html