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

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);
}


结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/277655.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PostgreSQL 数据库归档最近被问及的问题问题 与 4 毋 处世学

开头还是介绍一下群&#xff0c;如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题&#xff0c;有需求都可以加群群内&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;&#xff08;共1790人左右 1 2 3 4 5&#xff0…

Unity 通过鼠标框选绘制矩形区域

鼠标拖动的同时绘制一块同等大小的区域:如下 using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// 通过鼠标框选绘制矩形区域 /// </summary> /// public enum MouseType {left = 0,right = 1,middle = 2 } publi…

关于<取消对 NULL 指针“r”的引用><从 “a“ 读取无效数据>两个问题的解决办法

【取消对 NULL 指针“r”的引用】 修改&#xff1a; 必须要检查malloc的返回值&#xff0c;避免空间不够 &#xff08;nullptr只能用于指针类型&#xff0c;不能用于整数类型&#xff09; 【从 "a" 读取无效数据】 修改&#xff1a; 用指针法来表示&#xff0c;…

三张表看懂POE POE+ POE++ 三个协议的相关参数

Hqst华强盛&#xff08;盈盛电子&#xff09;导读&#xff1a;三张表看懂POE POE POE 三个协议的相关参数。 一 ̖ POE协议区分&#xff1a; 802.3af&#xff08;PoE) 百兆网络变压器H81621S 二 ̖ POE协议与受电设备&#xff08;PD&#xff09;工作功率分级 802.3at&#xf…

Yapi接口管理平台Centos7部署

文章目录 1.环境准备1.1 关闭透明大页THP1.2 设置最大文件打开数最大进程数 2.Nodejs安装3.安装Mongodb3.1 下载安装3.2 配置3.3 配置环境变量3.4 启动3.5 关闭 4.安装YAPI4.1 离线安装4.2 页面安装&#xff08;本次采用&#xff09;4.3 访问 1.环境准备 1.1 关闭透明大页THP …

小米SU7正式亮相,媒介盒子多家媒体报道

哈喽大家好啊&#xff0c;今天 媒介盒子来和大家分享媒体推广的干货知识&#xff0c;本篇分享的主要内容是新车上市&#xff0c;小米SU7的营销逻辑 在12月28日下午的发布会上&#xff0c;小米C级轿车SU7正式亮相&#xff0c;SU7的发布&#xff0c;也意味着小米智能科技“人车家…

【Shell编程练习】通过位置变量创建 Linux 系统账户及密码

系列文章目录 输出Hello World 系列文章目录位置变量代码实现运行结果 位置变量 位置变量将以数字方式对变量进行命名&#xff0c;可将命令行参数的值存储到脚本中。要从命令行、函数或脚本执行等处传递参数时&#xff0c;就需要在 Shell 脚本中使用位置参数变量。下表为常用…

2020年认证杯SPSSPRO杯数学建模A题(第一阶段)听音辨位全过程文档及程序

2020年认证杯SPSSPRO杯数学建模 A题 听音辨位 原题再现&#xff1a; 把若干 (⩾ 1) 支同样型号的麦克风固定安装在一个刚性的枝形架子上 (架子下面带万向轮&#xff0c;在平地上可以被水平推动或旋转&#xff0c;但不会歪斜)&#xff0c;这样的设备称为一个麦克风树。不同的麦…

LaTeX 符合 GB/T 7714-2015 标准的 biblatex 参考文献样式

需求&#xff1a;用LaTeX写学位论文&#xff0c;想得到符合 GB/T 7714-2015 标准的 biblatex 参考文献样式&#xff08;按照GB/T7714-2015的格式要求&#xff0c;英文作者名的字母全部大写&#xff09;。 命令&#xff1a; %在导言区加载宏包和文献文件&#xff0c;注意gb7714…

一文详解Cookie以及Selenium自动获取Cookie

前言 以后数据获取途径以及数据资产绝对会是未来核心要素生产工具和资源之一&#xff0c;每个大模型都离不开更加精细化数据的二次喂养训练。不过现在来看收集大量数据的方法还是有很多途径的&#xff0c;有些垂直领域的专业数据是很难获取得到的&#xff0c;靠人力去搜寻相当…

深眸科技创新工业AI视觉系统,与机械臂协同工作实现视觉引导功能

工业AI视觉系统&#xff1a;工业AI视觉系统能够在工业环境中进行缺陷检测、视觉分拣、物流供包、拆码垛、工业上料等应用。 随着国内工业企业不断进步和发展&#xff0c;传统机器视觉无法满足企业对复杂操作流程的需求&#xff0c;多数制造企业对于机器视觉系统的需求增长。而…

在SpringBoot中自定义指标并使用Prometheus监控报警

公众号「架构成长指南」&#xff0c;专注于生产实践、云原生、分布式系统、大数据技术分享 在10 分钟教你使用Prometheus监控Spring Boot工程中介绍了如何使用Prometheus监控Spring Boot提供的默认指标&#xff0c;这篇介绍如何自定义业务指标&#xff0c;并使用Prometheus进行…

Fedora操作系统有哪些优势

Fedora是一种基于Linux内核的开源操作系统&#xff0c;被广泛的认为是一款先进的、功能丰富的操作系统。它有许多的优势&#xff0c;从最新的软件版本到社区驱动的开发&#xff0c;以及安全性和稳定性等方面。下面我简单的介绍有哪些优势。 最新的软件版本 Fedora以当前最新的…

内网渗透之Vulnstack4靶场的全方位打法

靶场考察点 MS14-068漏洞 MS14-068是一个著名的Windows Kerberos安全漏洞&#xff0c;允许攻击者篡改Kerberos票据&#xff0c;从而获取非法提权。这个漏洞特别影响Windows域控制器&#xff0c;能让攻击者伪造Kerberos票据&#xff0c;获取域内几乎任意账户的权限&#xff0c…

鸿蒙系列--组件介绍之容器组件

一、Badge 描述&#xff1a;给其他组件添加标记 子组件&#xff1a;支持单个子组件 1.创建数字标记 Badge(value: {count: number, position?: BadgePosition, maxCount?: number, style: BadgeStyle}) 2.创建字符串标记 Badge(value: {value: string, position?: Badge…

关于Python里xlwings库对Excel表格的操作(二十三)

这篇小笔记主要记录如何【用“.number_format ”函数设置单元格的文本各种属性】。前面的小笔记已整理成目录&#xff0c;可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 &#xff08;1&#xff09;如何安装导入xlwings库&#xff1b; &#xff0…

批量抠图软件哪个好用?推荐这三款抠图工具给你

在数字图像处理的世界里&#xff0c;抠图是个不可或缺的环节。对于那些经常需要从复杂背景中提取主体的设计师和摄影师来说&#xff0c;抠图技巧无疑是一项宝贵的职业技能。然而&#xff0c;当面对大量的抠图需求时&#xff0c;手动处理不仅耗时&#xff0c;而且效率低下。因此…

Junit在多线程测试时的坑

Junit单元测试主线程退出&#xff0c;子线程也会退出 Testpublic void test() throws InterruptedException {Thread t1 new Thread(() -> {try {TimeUnit.SECONDS.sleep(5);} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.println(Thread.…

PowerShell Instal 一键部署gitea

gitea 前言 Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来…

在Java中使用选择排序将数组中的一列元素排列出来

思想 选择排序&#xff1a;特点有简单直观、从大到小、每趟从待选择的元素中选出最小或最大的一个元素&#xff0c;顺序放在已经排好的序列的最后&#xff0c;直到全部待排序数据元素排完。 代码 public class SelectSort {public static int[] orderby(int[] nums,String …