将整数以文字的形式输出。如-1,025,050输出为:负壹佰零贰万伍仟零伍拾

/************************************************************************/
/* 功能:将整数-1,025,050输出为:负壹佰零贰万伍仟零伍拾
/* 参数:nC 输入的数
/*       nBit 第几位
/*       nZr  零的个数
/* 作者:王丽君
/* QQ:   174636594                */
/************************************************************************/
void Out(int nC,int nBit = 0, int nZr = 0)
{
 if(nC < 0)
 {
  cout << "负";
  nC = -nC;
 }
 int nY = 0;
 if(nC == 0)
  return;
 nY = nC % 10;
 if(nBit == 4)//如果到了万位,将0的个数进行初始化。
  nZr = 0;
 if(nY == 0)//如果求余得到的结果是0,则将0的个数加1
  ++nZr;
 if(nY != 0)//如果得到的结果不为0,则将0的个数进行初始化
  nZr = 0;
 Out(nC/10, ++nBit, nZr);
 switch (nY)
 {
 case 0: if(nZr==1 && nBit!=5 && nBit!=1)cout << "零";break;//当有到了一个零并且不是在个位和万位
 case 1: cout << "壹";break;
 case 2: cout << "贰";break;
 case 3: cout << "叁";break;
 case 4: cout << "肆";break;
 case 5: cout << "伍";break;
 case 6: cout << "陆";break;
 case 7: cout << "柒";break;
 case 8: cout << "捌";break;
 case 9: cout << "玖";break;
 default:cout << "error";break;
 }

 switch (nBit)
 {
 case 1:break;
 case 2:if(nY != 0)cout << "拾";break;
 case 3:if(nY != 0)cout << "佰";break;
 case 4:if(nY != 0)cout << "仟";break;
 case 5:cout << "万";break;
 case 6:if(nY != 0)cout << "十";break;
 case 7:if(nY != 0)cout << "百";break;
 case 8:if(nY != 0)cout << "千";break;
 case 9:cout << "亿";break;
 default:cout << "out";break;
 }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值