【程序设计】
题目:编写一个程序,可以对长度不大于100的整型数组进行选择排序,
排序结束后,数据从小到大排列。
要求:
1.第一个数为已排好序的;
2. 实际数组长度n由键盘输入,长度为n的数组,只进行n-1轮选择排序
3. 每轮排序的方法:
从待排序的数中选出值最小的数,放在已排好序的子序列之后
4. 如果有数据相同,排序的次序和原来数据先后次序一样
5. 每一轮的选择排序结束后,输出排序结果,数之间用一个空格间隔
样例:
请输入数组长度n(n>0)*5
10
90
11
0
90
0 90 11 10 90
请按任意键继续. . .
代码如下:
#include <iostream>
using namespace std;
int main()
{
int a[100];
int n;
cout<<"请输入数组长度n(n>0)*";
cin>>n;
/**********Program**********/
int i,j,min,temp;
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n-1;i++)
{
min=i;
for(j=i+1;j<=n-1;j++)
{
if(a[min]>a[j])
min=j;
}
temp=a[min];
a[min]=a[i];
a[i]=temp;
for(j=0;j<n;j++)
cout<<a[j]<<" ";
cout<<endl;
}
/********** End **********/
return 0;
}