zoukankan      html  css  js  c++  java
  • 训练三:求任意整数的降序数

    题目要求:

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

       算法提示:将整数的每一位分离到一维整形数组中,再将数组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】这样的做法

  • 相关阅读:
    汉语-词语:架构(计算机术语)
    汉语-词语:架构
    全世界云计算宕机和中断[2013年-2014年集锦]
    java异常处理Exception
    CodeForces 390E Inna and Large Sweet Matrix(树状数组改段求段)
    操作系统CPU调度知识点
    hp-ux 集群,内存 小记
    增强for循环、Map接口遍历、可变參数方法
    spring下载和安装
    Android设计模式(八)--模板方法模式
  • 原文地址:https://www.cnblogs.com/fengdashen/p/3891457.html
Copyright © 2011-2022 走看看