1.想知道如何藉由函式的呼叫,使輸入的十個數由大到小排列(第一列是輸入的數,第二列是輸出的數)
2.程式碼
# include <stdio.h>
void fun(int a[], int);
main()
{
int i;
int n = 10;
int b[n];
for(i = 0; i < n; i = i + 1)
scanf("%d", &b[i]);
fun(b, n);
for(i = 0; i < n; i = i + 1)
printf("%d ", b[i]);
}
void fun(int a[], int x)
{
int k;
int i;
for(i = 0; i < (x - 1); i = i + 1)
{
if(a[i] < a[i + 1])
{
k = a[i];
a[i] = a[i + 1];
a[i + 1] = k;
}
}
}
3.執行畫面
你這是排序法吧,
最簡單同時效率最差的是氣泡排序法,
用兩層for迴圈來處理
int k;
for(int i = 0; i < x - 1; i++)
{
for(int j = i + 1;j < x;j++)
{
if(a[i] < a[j])
{
k = a[i];
a[i] = a[j];
a[j] = k;
}
}
}