c++ 对一个5位数的任意整数,求出其降序数

来源:互联网 发布:ubuntu ftp服务器配置 编辑:程序博客网 时间:2024/05/17 03:40
#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;}

0 0
原创粉丝点击