注册 登录
编程论坛 C++教室

【求助】随机数函数放在自定义函数,再利用循环语句每次结果却一样(含源代码)

dj踢奎拉 发布于 2019-02-20 12:39, 2265 次点击
楼主先把srand函数(设置时间种子)放在自定义函数(返回值为int型)里,再在main函数写了for语句,循环调用此自定义函数,却发现每次结果都一样,怎么破?
源代码:#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int whatever()
{
    int a;
    srand((int)time(0));
    a=rand() % 10;
    return a;
}
int main()
{
    int k;
    for (k = 0; k < 10; k++)
    {
        cout << whatever() << " ";
    }
    cout << endl;
}

[此贴子已经被作者于2019-2-20 12:44编辑过]

4 回复
#2
Jonny02012019-02-20 14:46
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int whatever()
{
    int a;
    //srand((int)time(0));
    a=rand() % 10;
    return a;
}
int main()
{
    int k;
    srand((int)time(0));
    for (k = 0; k < 10; k++)
    {
        cout << whatever() << " ";
    }
    cout << endl;
}
#3
dj踢奎拉2019-02-20 15:47
回复 2楼 Jonny0201
问题已解决,十分感谢!
#4
花脸2019-02-20 15:53
不能再for循环内设置种子,
#5
hualingg4152019-06-06 16:22
切记该函数只有放在主函数才会生效,否则放在局部函数需要增加static
1