在 C 中将数字打印为英语单词
Printing numbers as English words in C
我有这段代码可以用英文单词打印从 0 到 9 的数字(比如一个代表 1,两个代表 2,等等)。如果我想打印 374 怎么办?或者更大的东西,比如 7549846451?
#include <stdio.h>
int main()
{
double sum;
if(scanf("%1f",&num)!=0)
{
if(num=(int)num)
{
switch((int)sum)
{
case 0:printf("zero\n");break;
case 1:printf("one\n");break;
case 2:printf("two\n");break;
case 3:printf("three\n");break;
case 4:printf("four\n");break;
case 5:printf("five\n");break;
case 6:printf("six\n");break;
case 7:printf("seven\n");break;
case 8:printf("eight\n");break;
case 9:printf("nine\n");break;
default:printf("not a digit"); break;
}
}else
{
printf("Invalid")
return 0;
}
}
return 0;
}
这是一个好的开始,但要完成您的程序还需要很多时间:
- 首先将您的代码扩展为打印数字 10..99。 11..19 会有一个特殊情况,但之后就很正常了。较低的 20 个可以通过查找 table 来寻址。事实上,对整个范围进行查找 table 也不会太糟糕。
- 通过手头写出数字 0..99 的例程,您可以通过查看右边的第三个数字、写出它、添加
"hundred"
,然后继续写出数字来扩展到数百0..99
- 现在你已经有了一个写出三位数的例程,你所需要的就是将你的数字分成几组树,为非零组调用这个例程,然后添加
"billion"
、"million"
,和"thousand"
对应组的排名。
Here 您已找到解决问题的方法。它甚至与您在此处粘贴的示例相同,所以如果您阅读了下面的评论,您就会看到 Bheema 的评论表,他在其中发布了完整的代码。
另外,你可以试试自己写代码,没那么难。 dasblinkenlight 为您提供了操作说明。
我有这段代码可以用英文单词打印从 0 到 9 的数字(比如一个代表 1,两个代表 2,等等)。如果我想打印 374 怎么办?或者更大的东西,比如 7549846451?
#include <stdio.h>
int main()
{
double sum;
if(scanf("%1f",&num)!=0)
{
if(num=(int)num)
{
switch((int)sum)
{
case 0:printf("zero\n");break;
case 1:printf("one\n");break;
case 2:printf("two\n");break;
case 3:printf("three\n");break;
case 4:printf("four\n");break;
case 5:printf("five\n");break;
case 6:printf("six\n");break;
case 7:printf("seven\n");break;
case 8:printf("eight\n");break;
case 9:printf("nine\n");break;
default:printf("not a digit"); break;
}
}else
{
printf("Invalid")
return 0;
}
}
return 0;
}
这是一个好的开始,但要完成您的程序还需要很多时间:
- 首先将您的代码扩展为打印数字 10..99。 11..19 会有一个特殊情况,但之后就很正常了。较低的 20 个可以通过查找 table 来寻址。事实上,对整个范围进行查找 table 也不会太糟糕。
- 通过手头写出数字 0..99 的例程,您可以通过查看右边的第三个数字、写出它、添加
"hundred"
,然后继续写出数字来扩展到数百0..99 - 现在你已经有了一个写出三位数的例程,你所需要的就是将你的数字分成几组树,为非零组调用这个例程,然后添加
"billion"
、"million"
,和"thousand"
对应组的排名。
Here 您已找到解决问题的方法。它甚至与您在此处粘贴的示例相同,所以如果您阅读了下面的评论,您就会看到 Bheema 的评论表,他在其中发布了完整的代码。
另外,你可以试试自己写代码,没那么难。 dasblinkenlight 为您提供了操作说明。