我必须编写一个程序来生成随机数(从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;
}
答案 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;发电机。看看这个简短的视频,它会清除。