用C语言编写一个程序,输入一个两位数,然后输出该数的英文单词
时间: 2024-09-27 09:14:55 浏览: 62
C语言入门习题:数字转换单词
5星 · 资源好评率100%
在C语言中,你可以创建一个简单的函数来将十位和个位数字转换成对应的英文单词。下面是一个示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 字典数组存储10到99的英文单词
const char* digit_words[] = {
"Zero", "One", "Two", "Three", "Four",
"Five", "Six", "Seven", "Eight", "Nine",
"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen",
"Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"
};
// 十位和个位的辅助函数
char* get_tens_digit(char num) {
if (num >= 20)
return digit_words[num - 20];
else if (num > 0)
return "Twenty" + num;
else
return "Zero";
}
char* get_units_digit(char num) {
return digit_words[num];
}
// 主函数
void print_number_in_english(int number) {
char tens = (number / 10) % 10;
char units = number % 10;
printf("%s ", get_tens_digit(tens));
if (units != 0)
printf("%s ", get_units_digit(units));
}
int main() {
int num;
printf("Enter a two-digit number: ");
scanf("%d", &num);
// 确保输入的是两位数
if (num < 10 || num > 99) {
printf("Invalid input! Please enter a two-digit number.\n");
return 1;
}
print_number_in_english(num);
printf("\n");
return 0;
}
```
在这个程序中,我们首先定义了包含0到19的英文单词数组,然后分别处理十位和个位数字的转换。主函数`print_number_in_english`会根据输入的两位数调用这两个辅助函数,并组合结果打印出来。
阅读全文