c语言取随机数如何取模值

本文详细介绍了如何在C语言中使用`srand(time(NULL))`初始化随机数生成器,并通过取模和范围调整技巧生成指定范围内的随机数,如0-9、1-4以及任意给定区间内的整数。
摘要由CSDN通过智能技术生成

例:取0~9随机数

1.首先调用srand(time(NULL))来初始化随机数生成器的种子

2.取模运算符是%

3.取模10意味着要获取一个数除以10后的余数。由于余数的范围是0到除数减1,在这个例子中是0到9,因此当对一个较大的随机数取模10时,结果将是一个0到9之间的整数。

例:取1~4之间随机数

要生成一个1到4之间的随机数,可以首先生成一个更大的随机数,然后对这个随机数取模4,最后再加1。这样可以确保结果是一个在1到4范围内的整数。% 4将这个整数限制在0到3的范围内,然后+ 1将结果范围调整为1到4。

例:取a~b之间随机数

生成一个大于或等于0且小于b - a + 1的随机数。
将这个随机数加上a,以确保结果落在a和b之间。首先确定了要生成的随机数的范围,即a和b。后用rand() % (b - a + 1)生成一个范围在0到b - a之间的随机数。最后,将这个随机数加上a,以确保结果落在a和b之间(包含a和b)。


例子:

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

int main() {
    int a = 3; // 最小值
    int b = 8; // 最大值
    
    // 使用当前时间作为随机数生成器的种子
    srand(time(NULL));

    // 生成一个随机数,范围在0到b-a之间
    int random_offset = rand() % (b - a + 1);
    
    // 将随机数映射到a到b的范围
    int random_number = a + random_offset;

    printf("Random number between %d and %d: %d\n", a, b, random_number);

    return 0;
}

 

 

 

 

 

 

 

  • 12
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值