c语言产生0到9随机函数 c语言产生1~10随机数

C语言 产生3个 0到9的随机数

C语言函数名rand()

创新互联建站是一家从事企业网站建设、做网站、成都网站建设、行业门户网站建设、网页设计制作的专业网站制作公司,拥有经验丰富的网站建设工程师和网页设计人员,具备各种规模与类型网站建设的实力,在网站建设领域树立了自己独特的设计风格。自公司成立以来曾独立设计制作的站点成百上千家。

简介

功 能::伪随机数发生器 所属库:stdlib.h

用 法: 需要先调用srand初始化,一般用当前日历时间初始化随机数种子,这样每次执行代码都可以产生不同的随机数。

函数原型:int rand(void); 相关函数:srand、time、GetTickCount

程序例

1: #include "stdio.h"

#include "stdlib.h"

int main(void) {

int i;

printf("Ten random numbers from 0 to 99\n\n");

for(i=0; i10; i++)

printf("%d\n", rand() % 100);

return 0; }

例1程序在每次运行时都会生成相同的十个伪随机数,如要每次生成的随机数不同应结合srand函数和time函数。

///////////////////

int i,a;

for(i=0;i3;i++)

{

a=rand()%9;

printf("%d",a);

}

C语言随机函数怎样产生0-9互不相同的10个随机数

对已经获取到的随机数做标记,如果已经获取到过,那么则放弃该随机数,并继续获取。

直到获取到所有随机数为止。

参考代码如下:

#include stdio.h

#include stdlib.h

#include time.h

int main()

{

int a[10];//存储获取到的随机数。

int f[10] = {0};//存储是否获取到过。

int n = 0; //计数器。

srand(time(NULL));//设置随机数种子。

while(n10)

{

int m = rand()%10; //获取一个0~9的随机数。

if(f[m]) continue;//该数之前已经获取到过。

a[n++] = m;//将该数存入数组。

f[m] = 1;//标记该数已经获取过。

}

for(n = 0; n  10; n++)//打印结果。

printf("%d,",a[n]);

return 0;

}

如何用C语言产生不重复的0到9之间的随机数

刚调试了下,弄不明白的是,为什么SZ[10]明明不存在却永远是产生的r对应输出的数。。。

费解呀。但好像用9来说应该会更规范一些。

最后都沉底了。

。。。。又研究了20分钟,终于弄懂了。。。实际上应该是9更标准一些,虽然10不会溢出。。。rang()%(10-i)第一个从0-9里选,然后选过的消失。。。最后一个为9

第二次从0-8里选,选过的消失。。。最后2个为9,以后永远都选不上第8和第九。无论9出没出现过,以此类推。最终全部为九,其余消失。

如果为10的话,其实也影响不了,因为最后几个数永远都不会取到、

采纳了吧。。。。。。

额,其实最标准的应该把那个地方改成9-i,把没选的数字往前推,但是已经出现的过的就不必推了。。。

网页名称:c语言产生0到9随机函数 c语言产生1~10随机数
地址分享:https://www.cdcxhl.com/article38/doscepp.html

成都网站建设公司_创新互联,为您提供网站策划面包屑导航品牌网站设计关键词优化企业网站制作用户体验

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

绵阳服务器托管