C语言 输入一个0--999.99的数字,输出对应的人民币汉字大写。
各位大佬帮帮我,小数后面打印不了,帮我修改修改可以吗?#include<stdio.h>
int main()
{
int x;
char dstr[1000];
char hzb[15][30]=
{
"〇","一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"
};
int a,b,c,d,e;
printf("输入一个数0--999.99:");
scanf("%d",&x);
a=x/100%10;
b=x/10%10;
c=x%10;
d=x%100%10%10;
e=x%100%10%10%10;
if(a>0 && b>0 && c>0)
sprintf(dstr,"%s百%s十%s",hzb[a],hzb[b],hzb[c]);
else if(a>0 && b>0 && c==0)
sprintf(dstr,"%s百%s十",hzb[a],hzb[b]);
else if(a>0 && b==0 && c>0)
sprintf(dstr,"%s百零%s",hzb[a],hzb[c]);
else if(a>0 && b==0 && c==0)
sprintf(dstr,"%s百",hzb[a]);
else if(a==0 && b>1 && c>0)
sprintf(dstr,"%s十%s",hzb[b],hzb[c]);
else if(a==0 && b>1 && c==0)
sprintf(dstr,"%s十",hzb[b]);
else if(a==0 && b==1 && c>0)
sprintf(dstr,"十%s",hzb[c]);
else if(a==0 && b==0 && c>0)
sprintf(dstr,"%s",hzb[x]);
else if(a==0 && b==0 && c==0)
sprintf(dstr,"点%s",hzb[d]);
else if(a==0 && b==0 && c==0)
sprintf(dstr,"%s",hzb[e]);
puts(dstr);
}