将整数值从一个整数复制到另一个整数

Copying a integer value from one integer into another

一个非常快速的问题我必须问为什么下面的方法不起作用。我是一名早期程序员,因此我寻求帮助。

我正在尝试将 num1gen 的值复制到 ballno1 的整数中并输出它。

代码:

#include <iostream>
#include <stdlib.h>


using namespace std;

int main()

{
int ballno1 = 0;

srand(time(NULL));
int num1gen=(rand()%49+1);


ballno1 = ballno1 + num1gen;
cout<<ballno1<<" ";

}

要将 num1gen 复制到 ballno1,请使用 ballno1 = num1gen; - 非常简单。

PS: num1gen 不是 "integer" 而是 "integer variable"。整数是值。

我 运行 您的代码,似乎每次 运行d 函数的输出都是 3 与 49 的全等。您可以使用以下行获得预期结果:

int num1gen=((rand()%1000)%49+1);

当然,您可以选择任何数字,不完全是 1000。

这里有两个问题。首先是 time(NULL) 不会经常改变,也不会改变很多。如果您一遍又一遍地 运行 该程序,不要指望它每次都会更改。其次,rand 的大多数实现与您从中提取的前一个或两个随机数的种子非常相关。您应该放弃对 rand 的前几次调用。

或者更好的是,使用 C++11 中内置的改进的随机数功能。 http://en.cppreference.com/w/cpp/numeric/random