C语言随机算法

0~100

复制代码
 1 #include <stdio.h>
 2 #include <stdlib.h>//包含srand和rand函数
 3 #include <time.h>//包含time函数
 4 
 5 int main (int argc,char* argv[])
 6 {
 7   //随机种子
 8   srand((unsigned int)time(NULL));
 9   //把0~100的随机数赋给x变量
10   int x = rand() % 100;
11   
12   return 0;
13 }
复制代码

给定范围的随机数,格式(x~y):rand % (y - x) + x(注:x为负数也可以哦)

举个例子(10~99):

复制代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main(int argc, char* argv[])
{
  srand((unsigned int)time(NULL));
  int x = rand() % (100 - 10) + 10; //rand() % (100 - 10)毕竟是取余,最后结果取不到90,最高89,所以上界只能是89+10=99
  return 0;
}
复制代码

看到有的文章推广给定范围的随机数格式为rand % y + x,

确实可以满足下界一定是x,但无法满足上界,上界最大可能会达到y+x(x是正数的情况,负数技巧性的反过来)

本文作者:SkySource

本文链接:https://www.cnblogs.com/SkySource/p/15878696.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   SkySource  阅读(138)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示