数字转换为金额(c实现)

来源:互联网 发布:加拿大28预测软件 编辑:程序博客网 时间:2024/05/21 06:50
//c代码:只实现基本功能////缺点:只支持万元以下的数值(这个是可以改进的),小数只有2位,只能到分////比较好的就是,连续的0只输出一个零////如:10010 输出:1万零1十#include "stdio.h"#include "conio.h"#include "string.h"int main(){int i=1,j=1,k;char *y={"\0"};printf("请输入金额:");scanf("%s",y);while(strcmp(*(y+i),'.')!=0) //查找小数点i++;for(k=0,j=i;j>=0;j--,k++) //分离整数{if(*(y+k)!='0')switch(j){case 1:printf("%c",*(y+k));break;case 2:printf("%c十",*(y+k));break;case 3:printf("%c百",*(y+k));break;case 4:printf("%c千",*(y+k));break;case 5:printf("%c万",*(y+k));break;default:break;}else if((*(y+j)=='0')&&(*(y+j+1)!='0')&&k<i-1) printf("零"); //连续多个0输出一个零}printf("元");if(i!=strlen(y))printf(".%c 角%c 分",*(y+i+1),*(y+i+2));//小数点后面的输出,只保持输出2位getch();}


09年在公司写的,可惜那个时候公司是用VB做开发的,不稀罕我这小C代码。。。

请尊重原创,转载请注明出处,谢谢!

原创粉丝点击