• 训练三:求任意整数的降序数


    题目要求:

       对一个五位的任意整数,求出琦降序数

       算法提示:将整数的每一位分离到一维整形数组中,再将数组a的元素按照降序排列,最后输出数组元素值,

       试建立一个NUM类,完成上述操作

    #include<iostream>
    using namespace std;
    
    class NUM
    {
            public:
                    NUM(int x);//定义一个带参数的构造函数
                    void NUM_fengjie();
                    void NUM_paixu();
                    void NUM_display();
    
            private:
                    int a[5];
                    int n;
    };
    
    NUM::NUM(int x)
    {
            int i;
            for(i = 0;i<5;i++)
                    a[i] =0;
            n = x;//分解数值
    
    }
    
    void NUM::NUM_fengjie()
    {
            int i=0,j;
            int x = n;
            while(x)//分解数值的算法
            {
                    a[i] = x%10;
                    x = x/10;
                    i++;
            }
    }
    
    void NUM::NUM_paixu()
    {
            for(int i = 0;i<5;i++)//冒泡法排序
                    for(int j = i;j<4;j++)
                    {
                            if(a[j]>a[j+1])
                            {
                                    int m;
                                    m = a[j];
                                    a[j]= a[j+1];
                                    a[j+1] = m;
                            }
                    }
    }
    
    
    void NUM::NUM_display()
    {
            for(int i = 0;i<5;i++)
                    cout<<a[i]<<"  ";
    }
    int main()
    {
            int x;
            cout <<"please input the num:";
            cin >>x;//用户想输入的数值
            NUM num(x);//初始化变量
            num.NUM_fengjie();
            num.NUM_paixu();
            num.NUM_display();
    
            return 0;
    }
    View Code

    程序调试中遇到的bug

    错误:15行出现游离的‘ ,这个是程序输入时候多输入了 ’

    错误:63是忘记打分号,错误45:是if语句中忘记输入()的一边

    这个程序要学习的地方是

    【1】带参数的构造函数,这个比较重要:构造函数可以携带参数,

      比如程序中出现的 NUM(int x);因此在定义NULL  num这类的时候

      要变成 NULL num(5)初始化,

      例如要想动态改变,可以初始化中加入变量,比如NULL num(x)

      其中x由用户键盘输入

    【2】构造函数不能被用户调用,因此构造函数中我还没发现有cin这东西,

       大概是系统调用构造函数的时候是在创立对象的一瞬间,因此,在需要

       人为改变对象中的数值的时候,往往采用方式【1】这样的做法

  • 相关阅读:
    开发第七天
    项目进行ing
    Spring 计划
    0505--鲜花售卖网之“NABCD模型”
    --《软件工程》奖励之“黄色领骑衫”
    0329--Scrum团队准备工作
    0428数字口袋精灵app优化
    0421--"数字口袋精灵app"二次开发(Blackbriar团队开发)
    复利计算器app发布
    0415--博客欣赏与评论
  • 原文地址:https://www.cnblogs.com/fengdashen/p/3891457.html
Copyright © 2020-2023  润新知