随机数生成

遇到了这么个题

1949, 2012, 1946, 1874, 2046, 1994, 1839, 1824, 1999, 1024 
Choose one number from the ten numbers mentioned above. Only one is correct.

正好复习一下生成(伪)随机数的rand和srand...

time(0)获得从某个值得纪念的时刻(1970年1月1日0时)到调用time函数时经过的秒数

srand设置随机数种子,就是说种子相同时产生的“随机”序列也相同,不过每次使用不同的种子(使用time(0)),假装成是真随机就能凑合用了

rand(),得到0-RAND_MAX(在我的系统上是32767)之间的随机数,再取膜你想要的范围就行了

time()需要ctime头文件

srand,rand需要cstdlib

#include<cstdio>
#include<cstdlib>
#include<ctime>
int arr[10] = {1949, 2012, 1946, 1874, 2046, 1994, 1839, 1824, 1999, 1024};
int main()
{
    srand(time(0));
    int num = rand()%10;
    printf("%d", arr[num]);
    return 0;
}

交了四次成功AC,处于(勉强的)欧洲人水平

所以说到最后我也不知道答案是哪个数,interesting

转载于:https://www.cnblogs.com/DearDongchen/p/7197744.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值