这是一个用英文打印数字(数字)的程序 例1到"一个" 我用2串数组打印,用英文编号。 1比20。 10,20,30 ... 90的第2名。 第三个字符串为百 请帮我打印20之后的数字21,其中包括来自不同数组的2个字符串,并将它们作为一个函数返回。
#include <iostream>
#include <string.h>
using namespace std;
string convert(int x);
int main()
{
int no;
string no_in_eng;
cout << "Enter a number\n";
cin >> no;
no_in_eng = convert(no);
cout << no_in_eng << " Ruppess";
return 0;
}
string convert(int x)
{ // array of string from 1 to 20
string ones[] = { "One", "Two", "Three", "Four", "Five", "Six",
"Seven", "Eight", "Nine", "Ten",
"Eleven", "Twevle", "Thirteen", "Fourteen", "Fifteen",
"Sixteen", "Seventeen", "Eighteen", "Ninteen", "Twenty" };
string hun = "Hundred";
//array of string for (20,30,40...90)
string tens[] = { "Twenty", "Thirty", "Fourty", "Fifty" ,
"Sixty", "Seventy", "Eighty", "Ninty" };
{
if (x <= 0)
//if not used surprisingly 0 will print ninty
return "zero or negative";
else if (x < 21)
return *(ones + x - 1);
else if (x < 99)
{
//Need help with two digit number
return 0;
}
else if (x < 999)
{
//need help with 3 digit number
return 0;
}
else
cout << "wrong number choice";
}
}
答案 0 :(得分:0)
当你写一个数字,比如3215,你自己,你不会去#34;它不到10?不,是不到一百?不...&#34 ;.
你去&#34;它超过1000?是的,成千上万是三个。有几百个?两...&#34;
在程序中反转你的逻辑:
这是使用/
和%
运算符的练习,所以就这样做。