```c
include
int main() {
int num, tens, ones;
char buffer;
printf("Enter a two-digit number: ");
scanf("%d", &num);
// 分解数字为十位和个位
tens = num / 10;
ones = num % 10;
// 使用switch语句转换十位数字
switch (tens) {
case 1:
printf("ten-");
break;
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;
default:
printf("Illegal number!");
return 1; // 输入不是两位数
}
// 使用switch语句转换个位数字
switch (ones) {
case 0:
printf("zero");
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;
}
printf("
");
return 0;
}
```
这个程序首先提示用户输入一个两位数,然后使用`scanf`函数读取这个数。接着,它将这个数分解为十位和个位数字,并使用两个`switch`语句分别将这两个数字转换为对应的英文单词。如果输入的数字不是两位数,程序将输出"Illegal number!"并退出。
请注意,这个程序假设用户输入的是一个有效的整数,并且没有进行错误处理来处理非整数输入的情况。在实际应用中,你可能需要添加额外的错误检查来确保程序的健壮性。