相关疑难解决方法(0)

为什么rand()总是返回相同的值?

可能重复:使用rand
在C
中生成随机数以生成随机数

我正在尝试生成随机数,但我不断得到数字41.这样一个简单的片段可能会出错?

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int a = rand();
    printf("%d",a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

感谢帮助.

c random

5
推荐指数
1
解决办法
2万
查看次数

随机数功能是失火

我有一个非常简单的iPhone应用程序,需要1-100的随机整数.

我有一个调用随机数函数的按钮然后显示它.

-(IBAction)buttonReleased;
{
    srandom(time(NULL)); 
    int theNum = random() % 100 + 1;
    numberDisplay.text = [NSString stringWithFormat:@"%d", theNum];
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我快速按下按钮,有时它将不会显示新的随机数.

c iphone random objective-c

0
推荐指数
1
解决办法
620
查看次数

C++随机数没有变化

我创建了这个用c ++生成随机数的方法,当我在循环中调用它时,我总是得到相同的随机值,有什么问题?因为我希望在每次循环迭代后都有不同的值.我用标志-std = c ++ 11编译它.

float CDevice::gaussNoise(float mean, float stddev)
{
    std::default_random_engine generator(time(NULL));
    std::normal_distribution<float> distribution(mean, stddev);
    return distribution(generator);
}
Run Code Online (Sandbox Code Playgroud)

主要看起来像这样:

int main
{
    class CDevice *device;
    device = new CDevice();
    std::vector<float> vec;
    for(uint32_t i = 0; i< 10; ++i)
        vec.push_back(device->gaussNoise(1,5));
    for(uint32_t i = 0; i < vec.size(); ++i)
            std::cout << vec[i] << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

和输出是(例如):

3.71254
3.71254
3.71254
3.71254
3.71254
3.71254
3.71254
3.71254
3.71254
3.71254
Run Code Online (Sandbox Code Playgroud)

c++ random gaussian c++11

0
推荐指数
1
解决办法
514
查看次数

标签 统计

random ×3

c ×2

c++ ×1

c++11 ×1

gaussian ×1

iphone ×1

objective-c ×1