當前位置:首頁 » 編程語言 » 按大小排序c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

按大小排序c語言

發布時間: 2022-04-16 21:23:47

1. c語言:輸入10個數依次從大到小排序!

用數組來存放十個數字,使用「冒泡排序」來實現排序。10個數字需進行9輪掃描,每次掃描時比較相鄰的二個數,如它們不符合要求的大小關系,就交換它們的位置。第一輪掃描結束時,最大的數就「沉」到最後。於是第二的范圍就少了一個數。再進行第二兩棲型、第三輪,…——直到第9輪就完成了。最後輸出結果。
#include<stdio.h>
int
main()
{
int
a[10],i,j,t;
printf("請輸入10個整數:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
printf("排序以後的數:\n");
for(i=0;i<10;i++)
printf("%d
",a[i]);
printf("\n");
system("pause");
return
0;
}
如果要從大到小排,只要把上面的交換條件
if(a[j]>a[j+1])換為
if(a[j]<a[j+1])就可以了。

2. C語言~十個數字從小到大怎麼排列~從大到小呢~

//要求任意輸入10個數,然後按從小到大順序輸出
#include <stdio.h>
int main()
{
int a[10];
int i,j;
int temp;
printf("請輸入10個整數:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("排列後順序為:");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf(" ");
return 0;
}

3. 用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(a>b)s=a,a=b,b=s;//比較a,b大小,通過賦值,使得a<b 。此語句目的:a<b
if(a>c)s=a,a=c,c=s;//進一步比較a,c大小,通過賦值得出最小值,並賦給a; 此語句目的:a<c
if(b>c)s=b,b=c,c=s;//最後比較出b,c中的較大值。
printf("從大到小的順序依次是:%d%d%d",c,b,a);
return 0;
}

4. C語言如何從大到小排序呢

給你提供幾個比較簡單的演算法思路。

首先糾正一下,你要排序的對象不要存在單個變數里,要存在數組里,這樣才能用循環的方式取用。

  1. 插入排序

如果你打過牌,這種排序你就一定能理解。從未排序的部分取出一個元素來,然後插入到已經排好序的部分。就這樣一個一個的查入。

2.選擇排序

從未排序的部分選出最大(最小)的一個放在已排好序的部分的最後。然後重復此步驟。

3.歸並排序

排一個很長的序列可能比較麻煩,我就把他們分成兩份,把他們分別排好,然後再把他們接起來,接起來就很簡單了。而這兩個怎麼排呢,我再把他們分別分成兩個……這就要用到遞歸了。


總結一下,前兩個時間復雜度是平方,後一個是n*logn 。還有很多其他排序方法,其中冒泡排序比較費時但是很好寫,如果你不是想知其所以然,直接網路冒泡套用一下就行。

如果想系統的學習演算法,推薦你讀演算法導論,就是那本很厚的。講的很好。

5. 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 " , a, b, c);//輸出

}

(5)按大小排序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 ", number[i]);

}

}

2、選擇排序

#include<stdio.h>

void main()//主函數

{

int a[10];

int i,j,w;

printf("請輸入10個數字: ");

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;

}

6. c語言:3個數abc,按大小順序輸出

代碼如下:

#include <stdio.h>
int main()
{
int t,a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a<b)
{
t=a,a=b,b=t;
}
if(a<c)
{
t=a,a=c,c=t;
}
if(b<c)
{
t=b, b=c, c=t;
}
printf("%d %d %d ",a,b,c);
return 0;
}
原理就是運用冒泡演算法,把最大的數浮在最上面,而小的數就下沉,最後就輸出。

拓展資料

1、冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序演算法。

2、它重復地走訪過要排序的元素列,一次比較兩個相鄰的元素,如果他們的順序(如從大到小、首字母從A到Z)錯誤就把他們交換過來。走訪元素的工作是重復地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。

3、這個演算法的名字由來是因為越大的元素會經由交換慢慢「浮」到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名「冒泡排序」。

資料來源:網路:冒泡排序

7. C語言四個數從小到大排序

# include <stdio.h>void main (){ int t,a,b,c,d;printf("請輸入4個數;");

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

printf("a=%d,b=%d,c=%d,d=%d ",a,b,c,d);

if(a>b) {t=a;a=b;b=t;}if(a>b) {t=a;a=b;b=t;}}

8. C語言如何輸入十個數,按從大到小順序排列!

用選擇排序法編寫c語言,實現從鍵盤上輸入10個數,按從大到小的順序排序輸出。代碼如下:

#include<stdio.h>

int main()

{

int i,j,a[10],t;

printf("輸入數");

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]){

t = a[i];

a[i] = a[j];

a[j] = t;

}

}

printf("從大到小");

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

printf("%2d", a[i]);

return 0;

}

(8)按大小排序c語言擴展閱讀:

代碼還可以設計,如下:

#include<stdio.h>

int main()

{

int a[10],i,j,t;//定義數組;

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

scanf("%d",&a[i]);//給數組賦值;

}

for(i=0;i<9;i++)//10個數,進行9輪比較;

for(j=0;j<10-i;j++){//第一個數比較9次,依次遞減;

if(a[j]>a[j+1]) {//交換值;

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

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

printf("%d ",a[i]);//輸出數組的值;

}

return 0;

}

}

printf("the sorted numbers: ");

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

printf(" %d",a[i]);

printf(" ");

}

9. c語言編程: 將一組數按從大到小的順序排序

#include <stdio.h>

main()

{

int x;

printf("請輸入要排序數字個數:");

scanf("%d",&x);

int i,j,k,a,b,num[x];

printf("輸入數據:");

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

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

for(j=0;j<x;j++)

{

for(k=j+1;k<x;k++)

if(num[k]>num[j])

{

a=num[j];

num[j]=num[k];

num[k]=a;

}

}

for(b=0;b<x;b++)

printf("%d ",num[b]);

return 0;

}

(9)按大小排序c語言擴展閱讀:

include用法:

#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。

插入頭文件的內容

#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:

1、#include<文件名>

2、#include"文件名"

如果需要包含標准庫頭文件或者實現版本所提供的頭文件,應該使用第一種格式。如下例所示:

#include&lt;math.h&gt;//一些數學函數的原型,以及相關的類型和宏

如果需要包含針對程序所開發的源文件,則應該使用第二種格式。

採用#include命令所插入的文件,通常文件擴展名是.h,文件包括函數原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。