|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
各位大神,我按照现在学习的进度没有学习数组,就自己搞了一个双色球,有什么方法将每个随机球输出不一样的值吗?
代码奉上:#include<stdio.h>
#include<time.h>
int main()
{
srand(time(NULL));
int h1,h2,h3,h4,h5,h6;
int l1;
int i = 0;
while (i<10)
{
h1 = rand() % 33 + 1;
h2 = rand() % 33 + 1;
h3 = rand() % 33 + 1;
h4 = rand() % 33 + 1;
h5 = rand() % 33 + 1;
h6 = rand() % 33 + 1;
l1 = rand() % 16 + 1;
i++;
printf("红球:%d\t,%d\t,%d\t,%d\t,%d\t,%d\n.蓝球:%d\n",h1,h2,h3,h4,h5,h6,l1);
}
return 0;
}
本帖最后由 jhq999 于 2022-2-20 18:31 编辑 #include<time.h>
int main()
{
srand(time(NULL));
int h1=0,h2=0,h3=0,h4=0,h5=0,h6=0;
int l1=0;
int rndval=0,flag=1;
l1 = rand() % 16 + 1;
while (1)
{
flag=1;
do{rndval=rand() % 33 + 1;}while(rndval==h1||rndval==h2||rndval==h3||rndval==h4||rndval==h5||rndval==h6);
if(!h1) h1=rndval,flag=0;
if(!h2&&flag) h2=rndval,flag=0;
if(!h3&&flag) h3=rndval,flag=0;
if(!h4&&flag) h4=rndval,flag=0;
if(!h5&&flag) h5=rndval,flag=0;
if(!h6&&flag) h6=rndval,flag=0;
if(flag)break;
}
printf("红球:%d\t,%d\t,%d\t,%d\t,%d\t,%d\n.蓝球:%d\n",h1,h2,h3,h4,h5,h6,l1);
return 0;
}
红球:23 ,6 ,12 ,27 ,2 ,16
.蓝球:11
int main()
{
srand(time(NULL));
int h1=0,h2=0,h3=0,h4=0,h5=0,h6=0;
int l1=0;
int rndval=0;
l1 = rand() % 16 + 1;
while (!(h1&&h2&&h3&&h4&&h5&&h6))
{
do{rndval=rand() % 33 + 1;}while(rndval==h1||rndval==h2||rndval==h3||rndval==h4||rndval==h5/*||rndval==h6*/);
if(!h1) h1=rndval;
else if(!h2) h2=rndval;
else if(!h3) h3=rndval;
else if(!h4) h4=rndval;
else if(!h5) h5=rndval;
else if(!h6) h6=rndval;
}
printf("红球:%d\t,%d\t,%d\t,%d\t,%d\t,%d\n.蓝球:%d\n",h1,h2,h3,h4,h5,h6,l1);
return 0;
}
红球:8 ,30 ,33 ,14 ,17 ,28
.蓝球:2
|
|