1119: 一維陣列排序
題目描述
對一維陣列按照從小到大的順序排序。程式定義函式sort()來實現陣列a的排序。函式原型如下:
void sort(int a[], int n);
陣列元素的輸出呼叫PrintArr()。
輸入第一行輸入一個整數n(1<=n<=10),表示陣列有n個整數;第二行輸入n個整數。
輸出輸出佔一行。對這n個整數數按照從小到大的順序輸出,資料之間用一個空格隔開。
樣例輸入Copy6
6 5 1 2 3 4
樣例輸出Copy
1 2 3 4 5 6
來源/分類
題目描述
對一維陣列按照從小到大的順序排序。程式定義函式sort()來實現陣列a的排序。函式原型如下:
void sort(int a[], int n);
陣列元素的輸出呼叫PrintArr()。
輸入第一行輸入一個整數n(1<=n<=10),表示陣列有n個整數;第二行輸入n個整數。
輸出輸出佔一行。對這n個整數數按照從小到大的順序輸出,資料之間用一個空格隔開。
樣例輸入Copy6
6 5 1 2 3 4
樣例輸出Copy
1 2 3 4 5 6
來源/分類
#include <stdio.h>
void sort(int a[], int n)
{
int i, j, t;
for(i = 0; i < n - 1; i++)
{
for(j = i + 1; j < n; j++)
if(a[i] > a[j])//比較交換排序
{
t = a[i]; a[i] = a[j]; a[j] = t;//借用中間變數t交換數值
}
}
}
void PrintArr(int a[], int n)//定義函式輸出
{
int i;
for(i = 0; i < n; i++)
printf("%d ", a[i]);
}
int main()
{
void sort(int a[], int n);
void PrintArr(int a[], int n);
int n, i;
int a[11];
scanf("%d", &n);
for(i = 0; i < n; i++)//遍歷
{
scanf("%d", &a[i]);
}
sort(a, n);
PrintArr(a,n);
return 0;
}