C 语言 编程 爱翻译

发布网友 发布时间:2022-04-24 02:54

我来回答

1个回答

热心网友 时间:2023-07-15 12:14

/*
本人英语不是很好,如果有部分关于数字的英文单词拼写错了自己改吧,还有哪些百位与十位的中间如果需要加入and的话自己在对应的函数中改吧。
*/
#include <stdio.h>
#include <stdlib.h>

void translate1(int singlenum)
{
if(singlenum>=1&&singlenum<=9)
{
switch (singlenum)
{
case 1:{printf("one");break;}
case 2:{printf("two");break;}
case 3:{printf("three");break;}
case 4:{printf("four");break;}
case 5:{printf("five");break;}
case 6:{printf("six");break;}
case 7:{printf("seven");break;}
case 8:{printf("eight");break;}
case 9:{printf("nine");break;}
}
}
}
void translate2(int singlenum)
{
if(singlenum>=2&&singlenum<=9)
{
switch (singlenum)
{
case 2:{printf("twenty");break;}
case 3:{printf("thirty");break;}
case 4:{printf("forty");break;}
case 5:{printf("fifty");break;}
case 6:{printf("sixty");break;}
case 7:{printf("seventy");break;}
case 8:{printf("eighty");break;}
case 9:{printf("ninety");break;}
}
}
}
void translate3(int singlenum)
{
if(singlenum>=10&&singlenum<20)
{
switch (singlenum)
{
case 10:{printf("ten");break;}
case 11:{printf("eleven");break;}
case 12:{printf("twelve");break;}
case 13:{printf("thirteen");break;}
case 14:{printf("fourteen");break;}
case 15:{printf("fifteen");break;}
case 16:{printf("sixteen");break;}
case 17:{printf("seventeen");break;}
case 18:{printf("eighteen");break;}
case 19:{printf("nineteen");break;}
}
}
}
int main()
{
int n;
while(1)
{
scanf("%d",&n);
if(n>=10000) return 0;
int a,b,c,d;
a=n/1000;
b=(n/100)%10;
c=(n%100)/10;
d=n%10;
if(a!=0)
{
translate1(a);
printf(" thousand ");
}
if(b!=0)
{
translate1(b);
printf(" hundred ");
}
if(c>=2||c==0)
{
if(c>=2)
{
translate2(c);
printf(" ");
}
if(d!=0)
{
translate1(d);
}
}
else if(c>0&&c<20)
{
translate3(c*10+d);
}
printf("\n");
}
system("pause");
return 0;
}追问有点超时,不过还是谢谢~

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com