c語言輸出數組排序
Ⅰ c語言怎樣給一個數組中的數從大到小排序
#include "stdio.h"
int main()
{
int i,j;
int a[12];
for(i=1; i<=10; ++i)
scanf("%d",&a[i]);
for(i=1; i<10; ++i)
for(j=i; j<=10; ++j)
if(a[i]<a[j])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
//前十個數的銀伏排序
for(i=1; i<=10; ++i)
printf("%d ",a[i]);
printf("\n");
printf("Input a new number: ");
scanf("%d",&a[11]);
for(i=10; i>0; --i)
if(a[i+1]>手搏缺a[i])
{
int t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
else break;
//11個數的排序
for(i=1;i<=11; ++i)
printf("%d "畢辯,a[i]);
printf("\n");
return 0;
}
Ⅱ c語言如何將一個數組中的數值排好順序
使用冒泡排序法進行編程:
解釋:
1.第一個for循環:利用數組循環輸入4個變數。
2.第二個for循環:該循環的意思是如果a[0]>a[1]的話,兩個變數的值交換,利用循環依次比較。要注意的是i<3,因為其中有i+1,i最大取到2,也就是i+1最大取到3才正確。
3.第三個for循環:利用循環依次輸出排序後的數組,每輸出一個加一個空格以便於區分。
(2)c語言輸出數組排序擴展閱讀:
冒泡排序法,從數組頭部開始,不斷比較相鄰的兩廳笑個元素的大小,通過交換兩個元素的值使較大的元素逐漸銀物往後移動,扮搏含直到數組的末尾。
經過第一輪的比較,就可以找到最大的元素,並將它移動到最後一個位置。第一輪結束後,繼續第二輪。仍然從數組頭部開始比較,讓較大的元素逐漸往後移動,直到數組的倒數第二個元素為止。
經過第二輪的比較,就可以找到次大的元素,並將它放到倒數第二個位置。
以此類推,進行 n-1(n 為數組長度)輪「冒泡」後,就可以將所有的元素都排列好。