當前位置:首頁 » 編程語言 » 雙色球游戲模擬c語言程序
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

雙色球游戲模擬c語言程序

發布時間: 2022-05-17 21:38:21

『壹』 c語言,雙色球隨機小程序,要求前6個33選6不重復,最後一個16選1.請問為什麼我這個程序33選6的時候會重復

程序修改過了:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{int r[6],b,i,j;
srand(time(NULL));
r[0]=rand()%33+1;
for(i=1;i<6;i++)
{r[i]=rand()%33+1;
for(j=i-1;j>=0;j--) //有改動
if(r[i]==r[j])
{i--;
break;
}
}

for(i=0;i<5;i++) //有改動
for(j=i+1;j<6;j++)
{b=r[i];
if(r[j]<r[i])
{b=r[j];
r[j]=r[i];
r[i]=b;
}
}

for(i=0;i<6;i++)
printf("%d ",r[i]);
b=rand()%16+1;
printf("+ %d",b);
printf("\n");
}

『貳』 請C語言高手編程!「雙色球」紅號組合編程

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int isLegal(int std[],int a[])
{
int sum=0;
int i,j;
for(i=0;i<6;i++)
for(j=0;j<6;j++)
{
if(a[i]==std[j])
sum++;
}
if(sum>3) return 0;
else return 1;
}
int isRepeated(int a[],int temp)
{
int i;
for(i=0; i<6; i++)
if(temp == a[i]) return 1;
return 0;
}
void main()
{
int randNumber[6]={-1,-1,-1,-1,-1,-1},i,k,n,judge,temp;
int std[][6]={ {1,5,6,15,22,28},
{4,9,13,18,21,32},
{8,16,21,22,27,30},
{5,8,11,20,24,29},
{12,13,19,23,25,33},
{10,11,15,16,27,29},
{6,9,14,16,24,32}
};
srand((unsigned)time(NULL));
printf("要產生幾組這樣的數? ");
scanf("%d",&n);
for(k=0;k<n;k++)
{
do{
judge=1;
for(i=0;i<6;i++)
{
do{
temp=rand()%33+1;
} while(isRepeated(randNumber,temp));
randNumber[i]=temp;
}
for(i=0;i<7;i++)
{
judge*=isLegal(std[i],randNumber);
if(judge==0)
break;
}
}while(judge!=1);

for(i=0;i<6;i++)
printf("%d ",randNumber[i]);
printf("\n");
}

}
****************************************
以下是運行效果:
要產生幾組這樣的數? 10
3 29 13 22 9 7
24 1 5 13 17 6
9 19 24 8 33 20
5 9 29 7 10 26
19 28 18 31 11 9
6 23 28 13 27 24
5 20 1 14 11 26
19 30 25 32 8 12
20 14 24 19 18 15
29 27 25 23 24 19
Press any key to continue...

『叄』 C語言實現雙色球模擬兌獎

對這個程序,其實很簡單,相信自己可以做到的,我們可以將中獎號碼放在一個文件里,並創建一個文件,然後用指針對其調用裡面的元素,然後將元素與你輸入的號碼做個對比,在這兒你需要將輸入的號碼它的地址表明清楚,再用條件語句IF做比較,這樣就可以完成了!因為自己很久不弄這東西了,有點兒生熟了,但是它的演算法我想應該是這樣的!

『肆』 一個C語言的編程題!

如果只是想知道答案的話,這不用編程,用排列組合知識就行了。
首先:從33個裡面選出六個,共C(33,6)種
再減去三個連號的:2*C(29,3)+29*C(28,3)
再減去四個連號的:2*C(28,2)+28*C(27,2)
再減去五個連號的:2*C(27,1)+27*C(26,1)
再減去六個連號的:28種
其中,C(x,y)代表組合數公式

『伍』 C程序編寫雙色球代碼問題

/*DEV C++4.9.9.2編譯通過如果用vc6,加幾個#define來表示一下true,false,bool這三個符號就行了,分別是Bool,1,0O(∩_∩)O~*/ #include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>int main(void)
{
unsigned int count = 0;
int number[7] = { 0 };
bool next = true;

printf("這個程序用來生成雙色球號碼\n");
printf("輸入要生成的注數:");
srand( (unsigned int)time(NULL) );
do{
fflush(stdin);
scanf(" %d",&count); for(int i = 1; i <= count; i++)
{
printf("\n\n");
number[6] = rand() % 16 + 1;
for(int j = 0; j < 6; j++)
{
number[j] = rand() % 33 + 1;
for(int k = 0;k < j; k++)
if(number[k] == number[j])
j--;
}
for(int k = 0; k < 5; k++)
for(int n = 0; n < 5 - k; n++)
if( number[n] > number[n+1])
{
int box = 0;
box = number[n+1];
number[n+1] = number[n];
number[n] = box;
}

for(int m = 0; m < 7; m++)
printf(" %s%3d",(0==m) ? "紅 球:" : ( (6==m) ? "籃 球:" : ""),number[m]);
}
printf("\n\n輸入注數,您可以再來幾注:");
}while(true);

getch();
return 0;
} 貼出來經過快捷方式修飾的效果看看:

『陸』 用C語言編寫雙色球代碼

#include<stdlib.h>
#include<stdio.h>
#include<time.h>
constintMAX1=33;
constintMAX2=16;
voidmain()
{
intx[6]={0};
inty=0;
inti,j,k,r;
k=0;
srand(time(0));
while(k<6)
{

r=rand()%MAX1+1;
for(i=0;i<k;i++)
if(x[i]==r)
break;
x[k++]=r;
}
y=rand()%MAX2+1;
for(i=0;i<6;i++)
printf("%d",x[i]);
printf("%d",y);
}

『柒』 用C語言怎樣編程雙色球

srand(time(NULL));
rand();

『捌』 請C語言高手編程!「雙色球」紅號組合編程 1,從1到33里任意取六個數進行組合。

#include <stdlib.h>
#include <stdio.h>
##include <stdlib.h>
#include <stdio.h>
#include <time.h> /*用到了time函數,所以要有這個頭文件*/
#define MAX 6
int main( void)
{
int number[MAX] = {0};
int i,j;
srand((unsigned) time(NULL)); /*播種子*/
for(i = 0; i < MAX; i++)
{
number[i] = rand() % 33; /*產生33以內的隨機整數*/
while(number[i]==0)
number[i] = rand() % 33;
//printf("%d ", number[i]);
}
while(1)
{
for(i=0;i<6;i++)
for(j=i+1;j<6;j++)
{ if(number[i]==number[j])
{
number[j]=rand() % 33;
i=-1;
}
}
if(i==6)
break;
}
for(i = 0; i < MAX; i++)
printf("%d ", number[i]);
printf("\n");
return 0;
}

程序為1-33的不重復隨機數