伙计们,我需要帮助(是的,最后一分钟的家庭作业帮助)。我想编写一个名为getTwoRandomNumbers
的函数,它使用两个参数来返回两个不同的随机数。该函数假设接受两个参数,指定随机数的最小值和最大值。
我需要编写数据验证代码,以确保永远不会返回两个相同的随机数。这是我到目前为止所做的:(任何方向都非常受欢迎)
好的,我做了更改,现在有了这个:
#include <iostream>
#include <iomanip>
#include <cmath>
#include <time.h>
using namespace std;
float getTwoRandomNumbers (int Min, int Max, int & number1, int & number2);
void main()
{
cout << "The two random numbers are " << getTwoRandomNumbers << endl;
}
float getTwoRandomNumbers (int Min, int Max, int & number1, int & number2)
{
int loopNumber, number;
for (loopNumber = 0; loopNumber <= 200 ; loopNumber ++)
{
number = rand();
if (loopNumber < 100 && number >= Min && number <= Max)
{
number1 = number;
}
if (loopNumber > 100 && number >= Min && number <= Max)
{
number2 = number;
}
return number2;
}
}
答案 0 :(得分:2)
首先,您在正确的路径上通过函数的参数传回两个值。然后看起来你也试图通过函数返回获得第二个值。
由于您需要从函数中获取多个值,因此请忽略返回值,并使用传递的2个参数来获取返回值。
另外,试着想出你脑子里的问题,你想做什么?获得2个随机值,而number1不等于number2
这应该会让你在逻辑流程上有一个不错的开始,让随机数传回来。
答案 1 :(得分:1)
对你而言:当我重新格式化你的代码时,很明显你在for
循环中得到了回报。这意味着getTwoRandomNumbers
将始终在第一次迭代后返回。我99.99%肯定这不是你的想法。