以下是一个满足要求的C++程序示例: ```cpp #include <iostream> #include <string> #include <map> using namespace std; map<string, int> wordToNumber = { {"zero", 0}, {"one", 1}, {"two", 2}, {"three", 3}, {"four", 4}, {"five", 5}, {"six", 6}, {"seven", 7}, {"eight", 8}, {"nine", 9}, {"ten", 10}, {"eleven", 11}, {"twelve", 12}, {"thirteen", 13}, {"fourteen", 14}, {"fifteen", 15}, {"sixteen", 16}, {"seventeen", 17}, {"eighteen", 18}, {"nineteen", 19}, {"twenty", 20} }; map<int, string> numberToWord = { {0, "zero"}, {1, "one"}, {2, "two"}, {3, "three"}, {4, "four"}, {5, "five"}, {6, "six"}, {7, "seven"}, {8, "eight"}, {9, "nine"}, {10, "ten"}, {11, "eleven"}, {12, "twelve"}, {13, "thirteen"}, {14, "fourteen"}, {15, "fifteen"}, {16, "sixteen"}, {17, "seventeen"}, {18, "eighteen"}, {19, "nineteen"}, {20, "twenty"} }; int getNumberFromString(string word) { if (wordToNumber.find(word) != wordToNumber.end()) { return wordToNumber[word]; } return -1; // 若输入非法,则返回-1 } string getWordFromNumber(int number) { if (numberToWord.find(number) != numberToWord.end()) { return numberToWord[number]; } return "unknown"; // 若输入非法,则返回"unknown" } int main() { while (true) { string word1, word2; int number1, number2; // 输入第一个整数的英文单词 cout << "Input the first integer word: "; cin >> word1; number1 = getNumberFromString(word1); if (number1 == -1) { cout << "Invalid input. Please try again." << endl; continue; } // 输入第二个整数的英文单词 cout << "Input the second integer word: "; cin >> word2; number2 = getNumberFromString(word2); if (number2 == -1) { cout << "Invalid input. Please try again." << endl; continue; } // 显示输入的整数及其对应的数字 cout << "Number 1: " << number1 << " (" << word1 << ")" << endl; cout << "Number 2: " << number2 << " (" << word2 << ")" << endl; int result = number1 * number2; string resultWord = getWordFromNumber(result); // 输出计算结果的数字及结果对应的英文单词 cout << "Result: " << result << " (" << resultWord << ")" << endl; string choice; // 询问用户是否继续计算 cout << "Do you want to continue? (yes/no): "; cin >> choice; if (choice != "yes") { break; } } return 0; } ``` 这个程序首先定义了两个存储英文单词和对应整数的map,分别用于将英文单词转换为整数和将整数转换为英文单词。然后在while循环中,用户可以输入两个英文单词,程序会转换为对应的整数,并显示出来。然后计算这两个整数的乘积,并输出结果的数字和对应的英文单词。最后询问用户是否继续计算,如果回答是"yes",则继续循环,否则退出程序。 程序的输入要求用户输入两个整数的英文单词,输出会显示输入的整数及其对应的数字,然后计算结果的数字及结果对应的英文单词。如果输入的单词不在[0, 20]区间内,则程序会显示"Invalid input. Please try again."的错误信息。 注意:该程序并未实现小数的输入和计算。如果你想要在(0.0, 20) 区间内输入小数,并计算结果,你需要进一步修改程序。 [2024-05-24 01:55:27 | AI写代码神器 | 2268点数解答]