Frog_Belly 发表于 2023-7-30 19:41:13

c语言如何生成随机数

我想做一个c语言版的猜数游戏,在生成随机数的时候犯了难,到底该怎么生成随机数啊?{:5_100:}
游戏做好了我会发出去的{:5_95:}

陶远航 发表于 2023-7-30 19:41:29

在C语言中,你可以使用rand()函数来生成随机数。下面是一个简单的例子,展示了如何使用该函数生成一个范围在1到100之间的随机数:

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

int main() {
    // 使用当前时间作为随机数生成器的种子
    srand(time(NULL));
   
    // 生成1到100之间的随机数
    int randomNumber = rand() % 100 + 1;
   
    printf("随机数: %d\n", randomNumber);
   
    return 0;
}


上述代码首先通过srand(time(NULL))将当前时间设置为随机数生成器的种子,确保每次运行程序时都会得到不同的随机数序列。接着使用rand() % 100 + 1生成一个范围在1到100之间的随机数,其中rand()函数返回一个大于等于0且小于RAND_MAX的整数。

希望这个例子能够帮助你实现C语言版的猜数游戏。记得在程序中添加其他必要的逻辑和用户交互部分。祝你好运!
如果问题已经解决,请设置最佳答案

Frog_Belly 发表于 2023-7-30 19:42:05

陶远航 发表于 2023-7-30 19:41
在C语言中,你可以使用rand()函数来生成随机数。下面是一个简单的例子,展示了如何使用该函数生成一个范围 ...

{:5_95:}

陈尚涵 发表于 2023-7-30 19:43:33

stdlib.h里面有srand(随机数并不是真的随机,而是计算得来的伪随机,所以需要一个种子进行计算),rand(一个1-32767的随机数,可以用取余和加法进行范围内的随机),time.h里有time(因为srand需要传一个种子,time(0)就可以现有的时间戳,精确到秒,充当种子,一般用作time(0)
rand()范围内求随机(min是最小值,max是最大值)
int random(int min, int max){
    return rand() % (max - min + 1) + min;
}
呜呜呜,写完后发现最佳被脚本搞走了

琅琊王朝 发表于 2023-7-30 20:06:19

陶远航 发表于 2023-7-30 19:41
在C语言中,你可以使用rand()函数来生成随机数。下面是一个简单的例子,展示了如何使用该函数生成一个范围 ...

{:5_106:}

陶远航 发表于 2023-7-30 20:06:56

琅琊王朝 发表于 2023-7-30 20:06


页: [1]
查看完整版本: c语言如何生成随机数