编写一个程序,要求用户输入一个两位数,然后输出显示该数的英文单词。提示:把数分解为两个数字。用一个switch语句显示第一位数字对应的单词(“twenty”、“thirty”等),用第二个switch语句显示第二位数字对应的单词。不要忘记11~19需要特殊处理。用c语言
时间: 2023-09-10 14:05:42 浏览: 104
### 回答1:
的语法实现。
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int num, tens, ones;
printf("请输入一个两位数:");
scanf("%d", &num);
tens = num / 10; // 获取十位数字
ones = num % 10; // 获取个位数字
printf("该数的英文单词为:");
switch(tens) {
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;
}
switch(ones) {
case 0:
break;
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;
}
if(num >= 11 && num <= 19) { // 特殊处理11~19
switch(num) {
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;
}
}
printf("\n");
return 0;
}
```
输入一个两位数,程序将会输出该数的英文单词。例如,输入87将输出eighty seven。
### 回答2:
下面是一个用C语言编写的程序示例,根据用户输入的两位数,将该数的英文单词输出显示。
```c
#include <stdio.h>
int main() {
int num, firstDigit, secondDigit;
char* firstWord;
char* secondWord;
printf("请输入一个两位数:");
scanf("%d", &num);
// 分解数字
firstDigit = num / 10;
secondDigit = num % 10;
// 第一位数字对应的英文单词
switch(firstDigit) {
case 2:
firstWord = "twenty";
break;
case 3:
firstWord = "thirty";
break;
// 可根据需要继续添加其他数字对应的单词
default:
printf("输入的数字不合法!");
return 0;
}
// 第二位数字对应的英文单词
switch(secondDigit) {
case 0:
secondWord = "";
break;
case 1:
secondWord = "one";
break;
case 2:
secondWord = "two";
break;
case 3:
secondWord = "three";
break;
case 4:
secondWord = "four";
break;
case 5:
secondWord = "five";
break;
case 6:
secondWord = "six";
break;
case 7:
secondWord = "seven";
break;
case 8:
secondWord = "eight";
break;
case 9:
secondWord = "nine";
break;
default:
printf("输入的数字不合法!");
return 0;
}
// 处理11~19的特殊情况
if (firstDigit == 1) {
switch(num) {
case 11:
printf("eleven\n");
return 0;
case 12:
printf("twelve\n");
return 0;
case 13:
printf("thirteen\n");
return 0;
case 14:
printf("fourteen\n");
return 0;
case 15:
printf("fifteen\n");
return 0;
case 16:
printf("sixteen\n");
return 0;
case 17:
printf("seventeen\n");
return 0;
case 18:
printf("eighteen\n");
return 0;
case 19:
printf("nineteen\n");
return 0;
}
}
// 输出结果
printf("%s %s\n", firstWord, secondWord);
return 0;
}
```
该程序通过switch语句将输入的两位数分别与相应的单词进行匹配,并输出结果。需要注意的是,程序还特殊处理了11~19的情况。如果输入的数字不合法,则输出错误提示信息。
### 回答3:
下面是一个使用C语言编写的程序,可以实现用户输入一个两位数,然后输出该数的英文单词:
```c
#include <stdio.h>
int main() {
int num;
// 接收用户输入的两位数
printf("请输入一个两位数:");
scanf("%d", &num);
// 提取十位和个位数字
int ten = num / 10;
int unit = num % 10;
// 定义存储数字对应单词的字符串
char* tenWords;
char* unitWords;
// 判断十位数字
switch (ten) {
case 2:
tenWords = "twenty";
break;
case 3:
tenWords = "thirty";
break;
// 可以根据需要继续添加其他数字的情况
default:
tenWords = "";
}
// 判断个位数字
switch (unit) {
case 0:
unitWords = "";
break;
case 1:
unitWords = "one";
break;
case 2:
unitWords = "two";
break;
// 类似地,处理其他数字的情况
default:
unitWords = "";
}
// 特殊处理11 ~ 19之间的数字
if (ten == 1) {
switch (unit) {
case 1:
unitWords = "eleven";
break;
case 2:
unitWords = "twelve";
break;
case 3:
unitWords = "thirteen";
break;
// 类似地,处理其他数字的情况
}
}
// 输出结果
printf("该数字的英文单词为:%s%s\n", tenWords, unitWords);
return 0;
}
```
用户可以在程序中输入一个两位数,然后程序将提取该数的十位和个位数字,并通过switch语句将它们分别转换为相应的英文单词。最后,程序将输出该数字的英文单词。
请注意,此程序只处理了部分数字,如需添加其他数字的转换情况,请根据需要进行扩展。
阅读全文