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

编程实现如下功能:

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亿,且精确到角的金额\n";  //输出这句话
    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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值