//冒泡排序 啊哈算法 P10
#include <iostream>
#include <cstring>
#include <cstdio>
#define N 1001
//双重嵌套循环
using namespace std;
int main()
{
int i, j, n, t;
int a[N];
scanf("%d", &n);
for(i = 1; i <= n; i++)
{
scanf("%d", &a[i]);
}
//核心部分
for(i = 1; i <= n - 1; i++) /*首先n个数排序 只用进行n-1趟*/
{
for(j = 1; j <= n - i; j++) /*从第一位开始比较直到最后一个尚未归位的数*/
{
if(a[j] < a[j + 1])
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
cout << endl;
for(i = 1; i <= n; i++)
{
printf("%d ", a[i]);
}
getchar();getchar();
/*10
8 100 50 22 15 6 1 1000 999 0*/
return 0;
}
若要对姓名和成绩一块排序 即可以用 一个结构体数组
struct student
{
char name[21];
int score;
}a[100], t;
这样 使用a[i].score来排序