给定两组数据,第一组数据n是第二组数据arr[n]的个数,将第二组数据arr[n]由大到小进行排序后输出。
例如:
输入: 5
输出: 81 2 70 52 20
81 70 52 20 2
c++代码如下:
#include<iostream>
#include<stdlib.h>
#include<ctime>
using namespace std;
int main()
{
int n;
cout<<"输入n"<<endl;
cin>>n;
//分配动态一维数组
int *arr=new int[n];
srand((unsigned int)time(NULL));
for(int j=0;j<n;j++)
{
arr[j]=rand()%100;
cout<<arr[j]<<" ";
}
//冒泡排序 大到小
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (arr[j] < arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
cout <<"排序后为:"<<endl;
for (int j=0;j<n;j++)
{
cout <<arr[j]<<" ";
}
//释放arr数组
delete[] arr;
return 0;
}