C++变量赋值

来源:百度知道 编辑:UC知道 时间:2024/07/02 19:51:05
a=rand()%6;
c=rand()%6;

这两句代码是求 0到6的随机数,如何让产生的 a 不等于c的值,请指教啊,想了变天没想到好的办法

为什么没人说

a = rand() % 6;

do
{
b = rand() % 6;
}
while (a == b);

呢...

a = 0 ;
b = 0 ;
while (a == b)
{
a = rand()%6;
b = rand()%6;
}

楼下BlueWanderer的回答比我的好多了~!佩服佩服!

楼主是指a,b不恒等于的方法还是永不相等的方法?
永不相等的方法参见BlueWanderer
不恒等于的方法见下
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main(void)
{
int i,a,b;
time_t t;
...
srand((unsigned) time(&t));//将rand()函数的产生条件与当前时间绑定,
//因此,只要时间不同,a和b产生规则就不会相同。
a=rand()%6;
b=rand()%6;
...
...
return 0;
}

#include<iostream>
#include<time.h>
using namespace std;

int main()
{
srand(time(NULL));
int a = rand() % 6;
int b;
goon:
if ((b = rand() % 6) == a)
goto goon;
cout << a <<end