试图将数字从1-99转换为英文,但我真的不知道我在这里错过了什么。每当我输入一个像20这样的数字时,它就不会像输出20那样输出数字。任何帮助,将不胜感激! :)在C++中将数字转换为英文(1-99)
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int main()
{
cout << "In this program we will convert integers to English" << endl;
int Number, leftDigit, rightDigit, yes;
yes = 1;
string ones[] = {" Zero"
" One "
" Two "
" Three "
" Four "
" Five "
" Six "
" Seven "
" Eight "
" Nine "
" Ten "
" Eleven "
" Twelve "
" Thirteen"
" Fourteen "
" Fifteen "
" Sixteen "
" Seventeen "
" Eighteen "
" Nineteen " };
string tens[] = {" Twenty "
" Thirty "
" Fourty "
" Fifty "
" Sixty "
" Seventy "
" Eighty "
" Ninety "};
do{
cout << "Enter any integer value: " << endl;
cin >> Number;
if (Number <= 0 || Number >= 100)
{
cout << "The number is not between 1 and 99" << endl;
}
else (Number >= 1 && Number <= 19)
{
cout << "The number you have entered is: " << ones[Number] << endl;
}
else (Number >= 20 && Number <= 99)
{
leftDigit = Number/10;
rightDigit = Number % 10;
cout << "The number you have entered is: " << tens[leftDigit - 2 ] << " " << ones[rightDigit] << endl;
}
} while (yes == 1);
return 0;
}
如果输入'20',这是什么输出? – Tas
这段代码不会编译。你需要把'else if(..){..}'。 –
我添加了如果两个其他的和它输出所有的英文数字字符串十[] – Haris