如何添加从for循环生成的随机数

时间:2018-01-05 13:51:59

标签: c++ for-loop random sum numbers

我必须编写一个程序来生成随机数(从1到6)并添加(求和)随机生成的求和器。到目前为止,我已设法生成10个随机数(两对:x为10个数字,y为10个)我最初的目标是比较两个,我可以用'if'语句但到目前为止我无法弄清楚如何将随机生成的数字加在一起。我尝试了不同的方法,但到目前为止还没有任何工作。我是c ++的新手所以请原谅我这个问题,如果它很简单,请提前。  代码如下所示:

#include <iostream>
#include <cstdlib>
#include <string>
 using namespace std;

 int main(){
  int sum1=0, sum2=0, x, y;

  for(x = 1; x <= 10; x++) {

    cout << 1 + (rand() % 6) << endl;

     sum1=sum1+x;
  }

   cout<<"----------------"<<endl;

for ( y=1; y<=10; y++){


    cout<<1 + (rand() % 6)<<endl;

    sum2=sum2+y;

}

cout<<"-----------------"<<endl;

 cout<<sum1;


cout<<sum2;

return 0;  
}

3 个答案:

答案 0 :(得分:0)

你正在总结你的循环计数器。您需要做的是将随机生成的数字保存到变量中,然后对该值求和。

使用您的代码示例,我会像这样调整它:

#include <cstddef>
#include <cstdlib>
#include <iostream>

using std::cout;
using std::endl;
using std::rand;

int main() {
  int sum1=0;
  int sum2=0;

  for(int x = 1; x <= 10; ++x) {
    int n = 1 + (rand() % 6);
    cout << n << endl;
    sum1 += n;
  }

  cout << "----------------" << endl;

  for (int y = 1; y<=10; ++y) {
    int n = 1 + (rand() % 6);
    cout << n << endl;
    sum2 += n;
  }

  cout << "-----------------" << endl;
  cout << sum1 << endl;
  cout << sum2 << endl;

  return EXIT_SUCCESS;
}

答案 1 :(得分:0)

我猜你得到了sum1和sum2的55。

如果你想总结随机数,你必须保存它们。

因此,像

s1 = 1 + (rand() % 6);
cout << s1 << endl;
sum1 = sum1 + s1

应该做的伎俩。

答案 2 :(得分:0)

你需要&#34;种子&#34;发电机。看看这个简短的视频,它会清除。

https://www.thenewboston.com/videos.php?cat=16&video=17503