儒如
幼苗
共回答了19个问题采纳率:89.5% 举报
#include
#include
char unit[4][33]={"","THOUSAND","MILLION"};
char low[10][33]={"ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE"};
char two[10][33]={"TEN","ELEVEN","TWELVE","THIRTTEN","FOURTEEN","FIFTEEN","SIXTEEN","SEVENTEEN","EIGHTEEN","NINETEEN"};
char high[10][33]={"ZERO","TEN","TWENTY","THIRTY","FORTY","FIFTY","SIXTY","SEVENTY","EIGHTY","NINETY"};
char hd[33]="HUNDRED";
void trans(int n,int deep)
{
char dig[100]={0};
if(n==0)return ;
if(n/100>0)
{
strcat(dig,low[n/100]);
strcat(dig," ");
strcat(dig,hd);
strcat(dig," ");
}
n%=100;
if(n==0)
{
;
}
else if(n0)
{
strcat(dig,unit[deep]);
strcat(dig," ");
}
printf("%s",dig);
}
void out(int n,int deep)
{
if(n==0)return;
out(n/1000,deep+1);
trans(n%1000,deep);
}
int main()
{
int sum=0;
int T,n=0,i;
char s[1000];
scanf("%s",s);
for(i=0;s[i]!='.';i++)n=n*10+s[i]-'0';
for(i++;s[i];i++)sum=sum*10+s[i]-'0';
if(n==0)
{
printf("ZERO ");
}
else out(n,0);
printf("AND %d/100",sum);
return 0;
}
1年前
7