#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
char units[10][10] = { " ","one","two","three","four","five","six","seven","eight","nine" };
char ten[10][10] = { " ","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen" };
char ten_digit[10][10] = { " ","ten","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety" };
void Print_unit(int number)
{
if (number < 100)//小于100分别打印
{
if (number>10 && number % 10 != 0)
{
printf("%s %s ", ten_digit[number / 10], units[number % 10]);
}
else if(number >= 10 && number % 10 == 0)
{
printf("%s ", ten_digit[number / 10]);
}
else if(number<10)
{
printf("%s ", units[number]);
}
}
if (number >= 100)//大于100分情况打印英文
{
printf("%s hundred ", units[(number / 100)%10]);
if (number != 100)
{
printf("and ");
if (number % 10 != 0)
{
printf("%s %s ", ten_digit[(number / 10) % 10], units[number % 10]);
}
else
{
printf("%s ", ten_digit[(number / 10)%10]);
}
}
}
}
void Print(int number)
{
if (number >= 1000000000)
{
Print_unit(number / 1000000000);
printf("billion ");
if (number % 1000000 == 0)
{
printf("and ");
}
}
if (number >= 1000000)
{
Print_unit(number / 1000000);
printf("million ");
if (number % 1000000 == 0)
{
printf("and ");
}
}
if (number >= 1000)
{
Print_unit(number / 1000);
printf("thousand ");
if (number % 1000 == 0)
{
printf("and ");
}
}
if (number<1000)
{
Print_unit(number);
}
}
int main()
{
int input = 0;
//输入数据
printf("数字转英文:\n");
printf("请输入->");
while(scanf("%d", &input))
{
system("cls");
Print(input);
printf("\n");
printf("请输入->");
}
return 0;
}
输入数字,打印对应英文
最新推荐文章于 2023-10-30 22:12:45 发布