【编程】
(算法描述见【特别提示】中的(3))。
【要求】从键盘输入10个整数,将10个整数按升序排列输出,输出格式参见样张。
【例如】输入14、22、67、31、89、11、42、35、65、49,则输出排序结果"11 14 22 31 35 42 49 65 62 89"。
【特别提示】
(1) 本程序中选择结构一律使用if语句结构实现;
(2) 本程序中循环结构一律使用for语句结构实现;
(3) 输入10个整数到数组unsorted中,将循环遍历unsorted数组十遍,每遍选择最小的值拷贝到sorted数组中的下一个可用元素位置,并将unsorted中对应的最小值替换为一个大值(例如9999)。
#include <iostream>
#include<iomanip>
using namespace std;
int main(void)
{
int unsorted[10], sorted[10];
int i, j, min, pmin;
cout<<"请输入10个整数:"<<endl;
for (i=0;i<10;i++)
cin>>unsorted[i];
for(i=0;i<10;i++)
{
min=0;
for(j=1;j<10;j++)
if(unsorted[j]<unsorted[min])
{
min=j;
pmin=unsorted[j];
}
else
pmin=unsorted[min];
sorted[i]=pmin;
unsorted[min]=9999;
}
cout<<"排序结果如下:"<<endl;;
for (i = 0; i < 10; i++)
cout<<setw(3)<<sorted[i];
cout<<endl;
return 0;
}