#include <iostream>
using namespace std;
class DescendNUM{
private:
int n; // 存放5位数的整数
int a[5]; // 存放其元素的降序排列值
public:
DescendNUM(int x=0); // 构造函数,用参数x初始化n
void decompose(); // 将n的各位数分解到a数组
void dsort(); // 将a数组排成降序
void show(); // 显示元素及其降序数
};
DescendNUM::DescendNUM(int x):n(x){}
void DescendNUM::decompose()
{
a[0] = n % 10;
a[1] = n/10 % 10;
a[2] = n/100 % 10;
a[3] = n/1000 % 10;
a[4] = n/10000 % 10;
}
void DescendNUM::dsort()
{
int i;
int j;
int min;
int temp;
for (i = 0; i < 4; i++)
{
min = i; // 找到最大的那个数的下标
for (j = i+1; j < 5; j++)
{
if (a[min] < a[j])
{
min = j;
}
}
if (min != i)
{
temp = a[min];
a[min] = a[i];
a[i] = temp;
}
}
}
void DescendNUM::show()
{
cout<<n<<endl;
for(int i=0; i<5; i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
}
int main()
{
int t;
cin>>t;
DescendNUM num(t);
num.decompose();
num.dsort();
num.show();
return 0;
}
c++ 对一个5位数的任意整数,求出其降序数
最新推荐文章于 2023-10-08 11:39:38 发布