随机函数循环生成-1或1(C代码)

本文记录了在C语言中如何编写一个函数,用于循环生成-1或1的随机数。需要注意的是,为了确保随机性,时间种子应该在for循环外设置,否则可能导致连续相同的随机数。
摘要由CSDN通过智能技术生成

今天代码中用到一个随机函数,要循环生成-1或1,无奈C语言没有专门的函数直接生成,只能自己写了。参考了网上资料后,记录下来,将代码编写如下:

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


int main()
{ 
	int i,r,x;
        srand(time(NULL));    //时间种子
	for(i=0;i<100;i++){
		x=1 + (int)rand() % 10;
		if (x<=5) r=-1;
		else r=1; 
		//printf("x=%d\n",x);
		printf("r=%d\n",r);
	}
    return 1;

}

这里注意一下必须设置时间种子,否则每次生成数都一样。

另外一个是跟踪调试时发现的,如果是有for循环调用这个随机生成函数,时间种子必须在for循环外面,不然的话将会出现一连串-1和一连串1的现象,没有达到随机的效果。

随机函数原理摘录如下:

//要取得[a,b)的随机整数࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值