#include <bits/stdc++.h>
using namespace std;

int main()
{
	int a[20], n, t;
	cin >> n;
	//读入数组元素
	for (int i = 0; i < n; i++)
	{
		cin >> a[i];
	}
	//排序
	//循环i代表排序的轮数(i在此处代表排序的轮数)
	//n个数排序 n - 1 轮
	for (int i = 1; i <= n - 1; i++)
	{
		//第i轮排序,需要下标为0 ~ n - i的数参加排序
		//循环范围,0 ~ n - i - 1, 如果前一个数 > 后一个数,交换它们
		//此处的j代表的是数组元素的下标
		for (int j = 0; j <= n - i - 1; j++)
		{
			if (a[j] > a[j + 1]) //从小到大(从大到小也可以,> 改成 < 就可以了)
			{
				t = a[j];
				a[j] = a[j + 1];
				a[j + 1] = t;
			}
		}
	}
	//输出排序的结果
	for (int i = 0; i < n; i++)
	{
		cout << a[i] << " ";
	}
	return 0;
}

此为重点数组内容, 稍加改动便可作信息学奥赛一本通,洛谷,及各种OJ题解