将整数值从一个整数复制到另一个整数
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
一个非常快速的问题我必须问为什么下面的方法不起作用。我是一名早期程序员,因此我寻求帮助。
我正在尝试将 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