1. 程式人生 > 實用技巧 >1119: 一維陣列排序

1119: 一維陣列排序

  

題目描述

對一維陣列按照從小到大的順序排序。程式定義函式sort()來實現陣列a的排序。函式原型如下:

void sort(int a[], int n);

陣列元素的輸出呼叫PrintArr()。

輸入

第一行輸入一個整數n(1<=n<=10),表示陣列有n個整數;第二行輸入n個整數。

輸出

輸出佔一行。對這n個整數數按照從小到大的順序輸出,資料之間用一個空格隔開。

樣例輸入Copy
6
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個整數數按照從小到大的順序輸出,資料之間用一個空格隔開。

樣例輸入Copy
6
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;

}