我对这些 If/Else 语句的语法做错了什么 我很确定它与我的花括号位置有关。 我书中的所有示例仅包含真正原始/简单的示例(并不是说这段代码不简单;b/c 确实如此)。我想我的一般问题也是如何将这两个单独的语句分开。当我执行时,这两个独立的功能似乎混合在一起。
//
tens = rand / 10;
if (tens = 2){
cout << "twenty ";
else if (tens = 3)
cout << "thirty ";
else if (tens = 4)
cout << "forty ";
else if (tens = 5)
cout << "fifty ";
else if (tens = 6)
cout << "sixty ";
else if (tens = 7)
cout << "seventy ";
else if (tens = 8)
cout << "eighty ";
else if (tens = 9)
cout << "ninety ";
}
//
ones = rand % 10;
if (ones = 0){
cout << "\n";
else if (ones = 1)
cout << "one\n";
else if (ones = 2)
cout << "two\n";
else if (ones = 3)
cout << "three\n";
else if (ones = 4)
cout << "four\n";
else if (ones = 5)
cout << "five\n";
else if (ones = 6)
cout << "six\n";
else if (ones = 7)
cout << "seven\n";
else if (ones = 8)
cout << "eight\n";
else if (ones = 9)
cout << "nine\n";
}
最佳答案
我认为,对于这个特殊问题,if-else 甚至不是必需的!
我宁愿推荐这个解决方案:
const char *stens[] = {"", "", "twenty", "thirty", "forty", "fifty",
"sixty", "seventy", "eighty", "ninty"};
const char *sones[] = {"", "one", "two", "three", "four", "five",
"six", "seven", "eigth", "nine"};
//make sure 0<= rand <= 99
cout << stens[ rand / 10 ] << " " << sones[ rand % 10 ] << endl;
在线演示:http://www.ideone.com/K7HxS
至于你在 if-else 中遇到的问题,你使用的是赋值运算符,而不是相等,因为每个人已经指出了。
关于C++ If/Else语句问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5427858/