1 /*选择排序*/
2 #include <iostream>
3 using namespace std;
4 int main()
5 {
6 int n,i,j,a[n+1],d;
7 cin>>n;
8 cout<<"请输入"<<n<<"个数进行排序:"<<endl;
9 for(i=1;i<=n;i++)//输入n个数字
10 {
11 cout<<"第"<<i<<"个数"<<endl;
12 cin>>a[i];
13 }
14 for(i=1;i<n;i++)//进行n-1轮比较
15 {
16 d=i;//选择每轮第一个为假定最大数
17 for(j=i+1;j<=n;j++)//将假定的最大数与其后的数一一比较
18 {
19 if(a[j]>a[i])//选出其后的最大值
20 d=j;//做标记
21 }
22 if(d!=i)//判断是否有比假定数大的数存在,有,就把他和假定数互换
23 {
24 int temp;
25 temp=a[i];
26 a[i]=a[d];
27 a[d]=temp;
28 }
29 }
30 for(i=1;i<=n;i++)//输出从大到小排好序的n个数
31 {
32 cout<<a[i]<<" ";
33 }
34 return 0;
35 }