#include
void main()
{
double r=0;
int d=0;
int x,n,j,i,k,flag=0;
char str1[10][10]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
char str[10][10]={"","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
char str2[14][10]={"拾","亿","仟","佰","拾","萬","仟","佰","拾",""};
char str3[30];
char str4[30];
char getstr[30];
printf("请输入金额(范围小于十亿):\n");
gets(getstr);
j=0;
for(i=0;getstr[i]!='\0';i++)
{
if(getstr[i]>='0'&&getstr[i]<='9')
str4[j++]=getstr[i];
}
str4[j]='\0';
puts(str4); //修整过后的数
for(i=0;str4[i]!='\0';i++)
{
if(str4[i]>'0')
{
d=(j-i);break;
}
}
if(d>=9)
printf("输入的数超出范围,请重新输入\n");
for(k=0;k<10-d;k++)
str3[k]='0';
for(k=10-d;k<=9;k++)
{str3[k]=str4[i];++i;}
// 重新赋值
n=10-d;
for(j=n;j<=9;j++)
{
if(str3[j]!='0')
{x=str3[j]-48; printf("%s",str1[x]);}
else if(str3[j]=='0')
{
flag=0;
if(j<=5)
{
for(k=j;k<=5;k++)
if(str3[k]!='0'){flag=1;j=k-1;break;}
if(flag==1)
printf("零");
}
else if(j>5)
{
for(k=j;k<=9;k++)
{
if(str3[k]!='0'){flag=1;j=k-1;break;}
}
if(flag==1)
printf("零");
}
}
if(str3[j]!='0'||j==1)
{ printf("%s",str2[j]);}
if(j==5&&str3[j]=='0'&&(str3[4]!='0'||str3[3]!='0'||str3[2]!='0'))
printf("%s",str2[5]);
}
printf("\n");
}