如何使用c/c++随机生成-1,1

[复制链接]
查看11 | 回复2 | 2009-12-29 11:31:57 | 显示全部楼层 |阅读模式
int RanNum(int n)
/*随机产生1或-1*/{ int i,j,k,l; srand(time(0));
/*随机数种子*/ k=rand()%10;
//随机产生一个0-9之间的数子 if(k>4)l=1;
//若数为5,6,7,8,9则为1,否则为-1else l=-1;return(l);
}
回复

使用道具 举报

千问 | 2009-12-29 11:31:57 | 显示全部楼层
不知道C的standard library 有没有sign function,如果没有,你自己写一个就是了r = sign(rand()*0.5 -1)rand()是个随机数发生器,随机产生0,1内的数,sign(i)是符号函数, i> 0, return 1, i #include#includevoid main( void ) {int i,k;
srand((unsigned)time( NULL )); //用系统时间当种子,对随机函数进行初始化
for(i= 0; i < 10;i++ ){k=rand()%100;switch(k%2){case 0: printf("-1\n"); break;case 1: printf("1\n"); break;default:break;} } }参考资料:http://baike.baidu.com/view/3048977.html?wtp=tt

已赞过已踩过<
回复

使用道具 举报

千问 | 2009-12-29 11:31:57 | 显示全部楼层
用if
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行