我正在尝试制作一个提供5个附加问题的程序。这些数字应该是为5个问题随机生成的。我在第一次循环后继续得到相同的数字。例如,第一个问题是“2 + 2 =”,那么接下来的4次将是同样的问题。
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void additionProblem(int topNumber, int bottomNumber)
{
int userAnswer;
cout << "\n\n\n " << topNumber << " + " << bottomNumber << " = ";
cin >> userAnswer;
cin.ignore(1000, 10);
int theAnswer = topNumber + bottomNumber;
if (theAnswer == userAnswer)
cout << " Correct!" << endl;
else
cout << " Very good, but a better answer is " << theAnswer << endl;
} // additionProblem
int main()
{
srand(time(0));
int number;
int number2;
number = rand() % 11;
number2 = rand() % 11;
int i;
for (i = 0; i != 5; i = i +1)
{
additionProblem(number, number2);
}
} // main
答案 0 :(得分:2)
您的随机数生成不在您的循环中,因此您只生成一次随机数。
修复:
int main()
{
srand(time(0));
for (int i = 0; i != 5; ++i)
{
int number = rand() % 11;
int number2 = rand() % 11;
additionProblem(number, number2);
}
}