将从键盘输入的 10 个 double 类型数据存储到数组中,用起泡
法把这些数据按由大到小的顺序排序,并将排序结果输出到屏
幕和文件 Result3.txt 中。
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
#include<iostream>
#include<fstream>
using namespace std;
void sort(int n,double p[])
{
double temp=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<n-i-1;j++)
{
if(p[j]>p[j+1])
{
temp=p[j];
p[j]=p[j+1];
p[j+1]=temp;
}
}
}
}
int main()
{
double *a=new double;
ofstream out("Result3.txt");
if(!out)
{ cout<<"open error!"<<endl;
exit(1);
}
for(int i=0;i<10;i++)
{
cin>>a[i];
}
sort(10,a);
for(int i=0;i<10;i++)
{
cout<<a[i]<<" ";
out<<a[i]<<" ";
}
out.close();
return 0;
}