【问题标题】:Random number homework [closed]随机数作业[关闭]
【发布时间】:2011-05-10 00:15:45
【问题描述】:

问题来了:

编写一个名为 getTwoRandomNumbers 的函数,它使用两个参数返回两个不同的随机数。该函数还接受两个参数,指定随机数的最小值和最大值。您将需要编写数据验证代码,以确保永远不会返回两个相同的随机数。

这是我目前得到的代码:

float getTwoRandomNumbers (int Min, int Max, int & number1, int & number2);

void main()
{



  getTwoRandomNumbers (int Min, int Max, int & number1, int & number2)
  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;
       }

}

如果有人能做到这一点,我会尽可能简单地写这个。

【问题讨论】:

  • 对不起,我们不提供作业服务。你尝试了什么,你在哪里有问题?这些是我们要回答的问题。 :)
  • 大声笑,谈谈懒惰。发布您的尝试,我们将为您进行评论。您还应该在帖子上使用拼写检查器。
  • 我不是要你为我做作业,我想知道有没有什么方法可以按照说明以更简单的方式编写它,并且仍然可以正确编译。如果是这样,你会怎么做。
  • @confused:看来你真的需要a good C++ book
  • @confused - 我不明白为什么你的老师说要为getTwoRandomNumbers 返回 float。我个人觉得你读的那本书说使用 void 作为main 的返回类型对于学习 C++ 来说不是很有用的书。从@Xeo 建议的链接获取一本书。

标签: c++


【解决方案1】:

我不会为你做作业,但我会给你一些起点。

  • srand(),初始化随机数生成器。这通常通过程序的执行时间或类似的东西来完成。
  • rand(),在生成器初始化后获取一个随机数。
  • RAND_MAX,这是rand可以返回的最大数量。您可以使用它来操纵您的输出,使其落在适当的范围内。

【讨论】:

    【解决方案2】:

    一步一步

    1. 编写函数
    2. 将参数写成通过引用传递
    3. 为参数分配一个随机数生成算法的值
    4. 验证数字是否相同

    【讨论】:

      猜你喜欢
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      相关资源
      最近更新 更多