C语言随机数的设置

我要设置几个变量满足以下要求:1)变量X是{1,2,3}中的随机一个数2)变量Y是{1,2,3}中的随机一个数,且Y不能等于X3)变量Z是{1,2,3}中的非X非Y的那个数求高手设置一下这一段编码
2026年09月27日 01:28
有4个网友回答
网友(1):

//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "time.h"
#include "stdlib.h"

void main(void){
int x,y,z;
srand((unsigned)time(NULL));
x=rand()%3+1;
while((y=rand()%3+1)==x);
while((z=rand()%3+1)==x || z==y);
printf("x=%d y=%d z=%d\n",x,y,z);
}

网友(2):

X= rand()%3+1;
while(1){
y= rand()%3+1;
if(y!=X)
break;}
while(1){
z= rand()%3+1;
if(z!=x&&z!=y)
break;}

网友(3):

x= rand()%3 + 1;
y = rand()%3 +1;
while(y==x) y=rand()%3+1;

网友(4):

#include "stdio.h"
#include "time.h"
#include "stdlib.h"
void main()
{
    int i,x,y,z;
    srand(time(NULL));
    x=rand()%3+1;
for(i=0;;i++)
{
y=rand()%3+1;
if(y!=x) break;
}
z=6-x-y;
    printf("%d %d %d\n",x,y,z);
}