题目描述
英语是现在世界第一大语言,所以学好英语是very important, 但是宁波大学的某个大牛说:“我不怕,我可以写一个程序让各种语言 快速转换。”哎呀,学编程的,惹不起...溜...┈━═☆ 咱不是大牛,但有追逐大牛的梦想,大牛的伟大程序不是随便能盗版出来的, 我们就做一个简单的翻译器,把阿拉伯数字转换为英文输出。
输入要求
小于10000的非负阿拉伯数字整数n。
输出要求
对应的英文,如样例,一个一行。
输入样例
3923 5021
输出样例
three thousand nine hundred twenty three five thousand twenty one
利用函数解题,注意空格与零的位置,代码量大
#include<stdio.h>
void fanyi(int m){
if(m==1)printf("one");
else if(m==2)printf("two");
else if(m==3)printf("three");
else if(m==4)printf("four");
else if(m==5)printf("five");
else if(m==6)printf("six");
else if(m==7)printf("seven");
else if(m==8)printf("eight");
else if(m==9)printf("nine");
}
void fanyi2(int m){
if(m==0) printf("ten");
else if(m==1) printf("eleven");
else if(m==2) printf("twelve");
else if(m==3) printf("thirteen");
else if(m==4) printf("fourteen");
else if(m==5) printf("fifteen");
else if(m==6) printf("sixteen");
else if(m==7) printf("seventeen");
else if(m==8) printf("eighteen");
else if(m==9) printf("nineteen");
}
void fanyi3(int m){
if(m==2) printf("twenty");
else if(m==3) printf("thirty");
else if(m==4) printf("forty");
else if(m==5) printf("fifty");
else if(m==6) printf("sixty");
else if(m==7) printf("seventy");
else if(m==8) printf("eighty");
else if(m==9) printf("ninety");
}
int main(){
int n,a[5],i=0,m;
scanf("%d",&n);
while(n>0){
a[i]=n%10;
n=n/10;
i++;
}
if(i==4){
fanyi(a[3]);
printf(" thousand");
if(a[2]>0){
printf(" ");
fanyi(a[2]);
printf(" hundred");
if(a[1]>1){
printf(" ");
fanyi3(a[1]);
if(a[0]>0){
printf(" ");
fanyi(a[0]);
}
}else if(a[1]==1){
printf(" ");
fanyi2(a[0]);
}else if(a[1]==0){
printf(" ");
fanyi(a[0]);
}
}else{
if(a[1]>1){
printf(" ");
fanyi3(a[1]);
if(a[0]>0){
printf(" ");
fanyi(a[0]);
}
}else if(a[1]==1){
printf(" ");
fanyi2(a[0]);
}else if(a[1]==0){
printf(" ");
fanyi(a[0]);
}
}
}if(i==3){
fanyi(a[2]);
printf(" hundred");
if(a[1]>1){
printf(" ");
fanyi3(a[1]);
if(a[0]>0){
printf(" ");
fanyi(a[0]);
}
}else if(a[1]==1){
printf(" ");
fanyi2(a[0]);
}else if(a[1]==0){
printf(" ");
fanyi(a[0]);
}
}if(i==2){
if(a[1]>1){
fanyi3(a[1]);
if(a[0]>0){
printf(" ");
fanyi(a[0]);
}
}else if(a[1]==1){
fanyi2(a[0]);
}
}
if(i==1) fanyi(a[0]);
printf("\n");
return 0;
}