• 将数字转换成金额(统计专业实验报告)


    编程实现如下功能:

    1输入一个小写金额值(如1002300.90)

    2将它的每一位分离出来并存入到一个一位数组中,每一位数存入到一个数组元素中

    3将它转化为大写金额值并输出

    (这是帮同学写的作业,她们学C,因此我写了注解。不知为什么,当输入位数变多时,角数数不出来)


    #include<iostream> //换成stdio.h
    using namespace std; //C中省去这句
    int main()
    {
        long double a;
        string str;
        int b[20];
        char t[12] [10]={"","十","百","千","","十","百","千","","十"};
        cout<<"请输入一个小于20亿,且精确到角的金额 ";  //输出这句话
        cin>>a;//  输入双精度的a
        int c=a;
        double tmp=(a-c)*10;
        int sum=-1;
        for( int i=0;c>0;i++)
        {
            sum++;
            b[i]=c%10;
            c=c/10;
        }
        int h=0;
            for( ;sum>=8&&sum<=9;sum--)
            {
                h=1;
                if(b[sum]!=0)
            {
               if(b[sum]==1)     //以下为分别输出一到九 汉字,注意:没有换行符
              cout<<"壹";
               if(b[sum]==2)
               cout<<"贰";
                if(b[sum]==3)
               cout<<"叁";
               if(b[sum]==4)
               cout<<"肆";
                if(b[sum]==5)
               cout<<"伍";
                if(b[sum]==6)
               cout<<"陆";
               if(b[sum]==7)
               cout<<"柒";
                if(b[sum]==8)
               cout<<"捌";
                if(b[sum]==9)
               cout<<"玖";
               cout<<t[sum];
           }


            }
            if(h==1)
            cout<<"亿";
            h==0;
                for( ;sum>=4&&sum<=7;sum--)
            {
                h=1;
                if(b[sum]!=0)
              {
               if(b[sum]==1)     //以下为分别输出一到九 汉字,注意:没有换行符
              cout<<"壹";
               if(b[sum]==2)
               cout<<"贰";
                if(b[sum]==3)
               cout<<"叁";
               if(b[sum]==4)
               cout<<"肆";
                if(b[sum]==5)
               cout<<"伍";
                if(b[sum]==6)
               cout<<"陆";
               if(b[sum]==7)
               cout<<"柒";
                if(b[sum]==8)
               cout<<"捌";
                if(b[sum]==9)
               cout<<"玖";
               cout<<t[sum];
           }


            }
            if(h==1)
            cout<<"万";
                for( ;sum>=0&&sum<=3;sum--)
            {
                if(b[sum]!=0)
           {
               if(b[sum]==1)     //以下为分别输出一到九 汉字,注意:没有换行符
              cout<<"壹";
               if(b[sum]==2)
               cout<<"贰";
                if(b[sum]==3)
               cout<<"叁";
               if(b[sum]==4)
               cout<<"肆";
                if(b[sum]==5)
               cout<<"伍";
                if(b[sum]==6)
               cout<<"陆";
               if(b[sum]==7)
               cout<<"柒";
                if(b[sum]==8)
               cout<<"捌";
                if(b[sum]==9)
               cout<<"玖";
               cout<<t[sum];
           }


            }
            cout<<"元";
            cout<<tmp<<endl;
        if(tmp!=0)
        {                       //以下给行为输出一到九的汉字,注意:没有换行符
            cout<<"零";
               if(tmp==1)
              cout<<"壹";
               if(tmp==2)
               cout<<"贰";
                if(tmp==3)
               cout<<"叁";
               if(tmp==4)
               cout<<"肆";
                if(tmp==5)
               cout<<"伍";
                if(tmp==6)
               cout<<"陆";
               if(tmp==7)
               cout<<"柒";
                if(tmp==8)
               cout<<"捌";
                if(tmp==9)
               cout<<"玖";
               cout<<"角"<<endl;               //输出角这个字和换行符
           }
        return 0;
    }

  • 相关阅读:
    面向对象优势
    二维码
    数据库分页
    DBUtil连接数据库
    sqliteDOC创建数据库
    ajax的回调函数
    多线程
    JSTL优点
    WebSocket 搭建简单聊天网站
    全等和不全等
  • 原文地址:https://www.cnblogs.com/iamjuruo/p/7470970.html
Copyright © 2020-2023  润新知