收据金额小写转换大写

数据结构及算法 | 2013-08-01 22:06:31 | 阅读 3344 次 | 评论(0)

收据金额汉字大写表示,写法和读法是不一样的,如1001,读法为:壹仟零壹元整,写法为:壹仟零佰零拾壹元整。现以目前实际中的用法,试写,没考虑分角情况。


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{

int len,i;
char source[16],*cn[]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
printf("请输入一个不大于16位的整数(阿拉伯数字表示)\n");
gets(source);
len=strlen(source);
printf("大写金额:");
for(i=0; i<len; i++)
{
printf("%s",cn[source[i]-'0']);
     if((len-i)%4==0) printf("仟");
        else if((len-i)%4==3) printf("佰");
        else if((len-i)%4==2) printf("拾");
     else {
               if((len-i)>12) printf("兆");
               else if((len-i)>8 ) printf("亿");
               else if((len-i)>4 ) printf("万");
               else printf("元");
           }
}
printf("整\n");

return 0;
}



文章评论,共0条
游客请输入验证码
浏览176348次
最新评论
  • zhouwenyuan:博主可以开发房产APP吗?
  • qunxingw:结合附件,在分表A或B...实验一下宏就理解了
  • qunxingw:这仅是小范围的一种思路,此题是指数级的数据。