题目描述
输入一个三位数的整数(100至999)输出这个数的人民币大写。
输入
输入100至999的整数。
输出
人民币大写。可能有多组数据。
样例输入 Copy
123
400
560
708
999
样例输出 Copy
壹佰贰拾叁元整
肆佰元整
伍佰陆拾元整
柒佰零捌元整
玖佰玖拾玖元整
#include<stdio.h>
#include<math.h>
int main()
{
char a[11][20]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
int n;
while(scanf("%d",&n)!=EOF)
{
int t=0,b[111]={0},k=0;
t=n;
while(t!=0)//个位上的书提取出来
{
b[k++]=t%10;
t/=10;
}
for(int i=0;i<10;i++)//百位
{
if(b[2]==i)
printf("%s佰",a[i]);
}
for(int i=0;i<10;i++)//十位
{
if(b[1]==i)
{
if(b[1]!=0)
printf("%s拾",a[i]);
else
printf("零");
}
}
for(int i=0;i<10;i++)//个位
{
if(b[0]==i)
{
if(b[0]!=0)
printf("%s元整",a[i]);
else
printf("元整");
}
}
printf("\n");
}
return 0;
}
希望能帮到你,望采纳;
哪里出问题了,不对
追答if(b[1]==0&&b[0]!=0)
你把//十位处的内循环中的else改成上面的;
你把//十位
内循环最里面的else改为
if(b[1]==0&&b[0]!=0)