c 语言, 随机数,一个不像随机数的随机数

news/2024/7/7 21:15:54

c 语言, 随机数,一个不像随机数的随机数

使用两种方式获取随机数,总感觉使用比例的那个不太像随机数。

  • 方法一: rand() 获取一个随机数,计算这个随机数跟最大可能值 RAND_MAX(定义在 stdlib.h 中)的比例数值,再用需要的范围 100 跟这个相乘,得到一个随机数;
  • 方法二:直接用 rand() % 100 取余。

下面是两种方法获取到的 100 个数值:

#include "stdio.h"
#include "stdlib.h"
#include "time.h"

int get_random_within(double max){
    float ratio = rand()/(double)RAND_MAX;
    return (int)(max * ratio);
}

int main(){
    time_t t;
    srand(time(&t));
    printf("time is %lu", t);

    printf("\n\nuse random ratio to RAND_MAX to get random values: \n");
    for (int i=0;i<100; i++){
        if (i> 0 && i % 10 == 0){
            printf("\n");
        }
        int temp = get_random_within(100);
        if (temp < 10){
            printf(" %d ", temp);
        } else {
            printf("%d ", temp);
        }
    }

    printf("\n\nuse %% to get random values: \n");
    for (int i=0;i<100; i++){
        if (i > 0 && i % 10 == 0){
            printf("\n");
        }
        int temp = rand() % 100;
        if (temp < 10){
            printf(" %d ", temp);
        } else {
            printf("%d ", temp);
        }
    }

    printf("\n");
    return(0);
}


结果

在这里插入图片描述


http://lihuaxi.xjx100.cn/news/1922895.html

相关文章

JavaScript实现视频共享

1.视频共享webrtc-master index.html <!DOCTYPE html> <html> <head><script typetext/javascript srchttps://cdn.scaledrone.com/scaledrone.min.js></script><meta charset"utf-8"><meta name"viewport" cont…

平价运动蓝牙耳机什么牌子好、好用的平价运动耳机

运动是生命的源泉&#xff0c;有许多朋友都会在运动的时候戴上一个运动耳机。因为运动时听音乐会给我们带来充足的动力&#xff0c;但是选择一款合适自己的运动耳机也是一门学问&#xff0c;今天我就来给大家推荐几款还不错的运动耳机。 1、西圣开放式耳机 -推荐指数&#xff…

发票批量信息提取软件 6.2 更新

6.2更新 OFD 发票增加了识别稳定性&#xff0c;之前的有个bug 付费的高级功能更加稳定了&#xff0c;之前会经常出现识别错位的情况 修改了一个严重的bug 6.0更新 可以用支付宝在线支付购买次数了&#xff0c;终于不用每次我手动给用户发次数码了。。泪 朋友圈或微信人数大…

Linux中磁盘管理与文件系统

目录 一.磁盘基础&#xff1a; 1.磁盘的结构&#xff1a; 2.硬盘的数据结构&#xff1a; 3.硬盘存储容量 &#xff1a; 4.硬盘接口类型&#xff1a; 二.MBR与磁盘分区&#xff1a; 1.MBR的概念&#xff1a; 2.硬盘的分区&#xff1a; 为什么分区&#xff1a; 2.表示&am…

NFC物联网智能购物车设计方案

智能购物车是综合利用计算机网络、射频识别技术、数据库技术、单片机于一体的设备具有先进性、便于管理性、经济性、普适性。基于NFC (Near Field Communication&#xff0c;近场通信)技术的智能购物车&#xff0c;能够大幅缩短结账排队时间&#xff0c;实现“无感支付”。NFC是…

跨境外贸获客工具开发该怎么做?一篇文章让你掌握全流程!

在当今全球化的商业环境中&#xff0c;跨境外贸已经成为企业拓展市场、提高收益的重要途径&#xff0c;然而&#xff0c;跨境外贸并非易事&#xff0c;如何有效地获取客户并保持持续的互动&#xff0c;是摆在众多企业面前的一道难题。 今天&#xff0c;我们就来探讨一下如何开…

Ubuntu 下播放语音提示

目录 一、安装语音库 二、生成音频文件 三、语音播放代码 一、安装语音库 sudo apt update apt-get install libasound2-dev二、生成音频文件 # 文字生成 MP3网地&#xff1a;https://www.text-to-speech.cn/# MP3 转 WAV网址&#xff1a;https://www.aconvert.com/cn/aud…

Qt学习大全

写了很多博客&#xff0c;有时候自己都忘了写了啥&#xff0c;所以做一个目录进行查找。 ★QGraphicsItem实现不随场景缩放而缩放&#xff0c;支持任意图片&#xff0c;图形&#xff0c;文字。 ★Qt提升绘制效率&#xff0c;绘制加速。 ★Qt触摸屏双指缩放和单指移动界面&…