本文目錄一覽:
C語言~十個數字從小到大怎麼排列~從大到小呢~
//要求任意輸入10個數,然後按從小到大順序輸出
#include stdio.h
int main()
{
int a[10];
int i,j;
int temp;
printf(“請輸入10個整數:”);
for(i=0;i10;i++)
{
scanf(“%d”,a[i]);
}
for(i=0;i9;i++)
{
for(j=0;j9-i;j++)
{
if(a[j]a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf(“排列後順序為:”);
for(i=0;i10;i++)
{
printf(“%d “,a[i]);
}
printf(“\n”);
return 0;
}
C語言中怎麼把三個整數從小到大排列
原理就是運用冒泡算法,把最大的數浮在最上面,而小的數就下沉,最後就輸出。
方法如下:
分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果xy則將x與y的值進行交換,
然後再用x與z進行比較,如果xz則將x與z的值進行交換,這樣能使x最小。
1.從控制台讀入三個數;
2.實現三個數從小到大排序:
(1)將第一個數作為最小數,依次和第二,三個數進行比較。兩次比較重如果有任意一個比第一個小,則將兩個數交換
;
(2)在(1)步後,得到第一個數為最小數。再將第二個數與第三個數比較大小後即可實現三個數從小到大排序。
拓展資料
兩種常用排序方法:
1.選擇排序法:從一列數中,選擇第一個作為最小數,依次和後面的數進行比較。如有比第一個數小的數,則交換兩個數。最後排到該列數都倒數第二個時,這列數就從小到大排好了順序。
2.冒泡排序法:思路與選擇排序法一致。不同的是,冒泡排序將第一個作為最大數,然後再和該數後的數進行比較。
4個數比較大小,結果從小到大排列,用C語言怎麼編?
1、首先雙擊打開桌面上的C-Free5編程軟件。
2、打開編程軟件以後,創建一個新頁面來編寫程序。
3、編寫代碼.
4、編寫完代碼以後,按F5進行編譯。或者點擊上方的小三角。
5、編譯時,如果有錯誤會進行報錯,大家需要進行檢查修改。如果沒有錯誤,會出現【0個錯誤,0個警告】。
6、編譯完成後進行運行,按照提示依次輸入三個整數。依次輸入1,2,3。
7、輸入完成後再點擊回車鍵,三個數就會被從小到大依次排序。
求C語言將數組元素大小排序!!
C語言將數組元素大小排序方法:
以下使用的是冒泡排序法實線數組從小到大排序。
思想:每次相鄰兩個數比較,若升序,則將大的數放到後面,一次循環過後,就會將最大的數放在最後。
10、2、3、4、5、6、9、8、7、1是輸入的待排序的數列,經過第一次排序,將最大的,10放在最後,第二次排序,將剩下的2、3、4、5、6、9、8、7、1進行冒泡,將當前最大的9放在倒數第二的位置,以此類推。
以下是具體代碼:
#include stdio.h
int main(){
int nums[10] = {10, 2, 3, 4, 5, 6, 9, 8, 7, 1};
int i, j, temp, isSorted;
//優化算法:最多進行 n-1 輪比較
for(i=0; i10-1; i++){
isSorted = 1; //假設剩下的元素已經排序好了
for(j=0; j10-1-i; j++){
if(nums[j] nums[j+1]){
temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
isSorted = 0; //一旦需要交換數組元素,就說明剩下的元素沒有排序好
}
}
if(isSorted) break; //如果沒有發生交換,說明剩下的元素已經排序好了
}
for(i=0; i10; i++){
printf(“%d “, nums[i]);
}
printf(“\n”);
return 0;
}
擴展資料:
其他將數組從小到大排序的算法
以下使用的是選擇排序法實現數組從小到大排序。
思想:從第一個數開始,每次和後面剩餘的數進行比較,若升序,則如果後邊的數比當前數字小,進行交換,和後面的所有的數比較、交換後,就會將當前的最小值放在當前的位置
輸入的序列為10、2、3、4、5、6、9、8、7、1進行一次排序後將最小的數放在了第一位(a[0]與它後面的所有數進行比較,若a[0]比後面的數大,進行交換),以此類推。
以下是具體代碼:
#include stdio.h
int main(void){
int a[1001];
int n,i,j,t;
scanf(“%d”,n);//n為要排序的數的個數
//輸入需要排序的數
for(i=0;in;++i)
scanf(“%d”,a+i);
//接下來進行排序
for(i=0;in-1;++i)//因為每次需要和a[i]後面的數進行比較,所以到a[n-2](倒數第2個元素)就行
{
for(j=i+1;jn;++j)//j從i後一個開始,a[i]與a[j]進行比較
{
if(a[i]a[j])//a[i]為當前值,若是比後面的a[j]大,進行交換
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}//每排序一次,就會將a[i](包括a[i])之後的最小值放在a[i]的位置
for(j=0;jn;++j)
printf(“%-5d”,a[j]);
printf(“\n\n”);
}
return 0;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/230663.html