導航:首頁 > 編程語言 > 彩票編程代碼

彩票編程代碼

發布時間:2023-10-21 08:57:53

⑴ 請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...

⑵ 入門java彩票編程題

importjava.util.ArrayList;
importjava.util.List;
importjava.util.Random;
importjava.util.Scanner;

publicclassLotto{

publicstaticfinalintNUMBER=7;

publicstaticvoidmain(String[]args){
List<Integer>userNumbers=newArrayList<Integer>();
Scannerscanner=newScanner(System.in);
inti=1;
while(i<8){
System.out.println("輸入第"+i+"個數字:");
userNumbers.add(scanner.nextInt());
i++;
}
System.out.println(prize(userNumbers.toArray(newInteger[NUMBER])));
}

privatestaticInteger[]generateLotto(){
List<Integer>lottoNumbers=newArrayList<Integer>();
Randomrand=newRandom();
intlottoNumber,i=0;
while(i<NUMBER){
lottoNumber=rand.nextInt(35)+1;
if(!lottoNumbers.contains(lottoNumber)){
lottoNumbers.add(lottoNumber);
i++;
}
}
returnbubbleSort(lottoNumbers.toArray(newInteger[NUMBER]));
}

privatestaticInteger[]bubbleSort(Integer[]array){
for(inti=0;i<array.length;i++){
for(intj=0;j<array.length-i-1;j++){
if(array[j]>array[j+1]){
inttemp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
}
}
}
returnarray;
}

publicstaticStringprize(Integer[]userNumbers){
intcount=0;
Integer[]lottoNumbers=generateLotto();
for(Integeri:userNumbers){
for(Integerj:lottoNumbers){
if(i==j){
count++;
}
}
}
return"猜對了"+count+"個彩票號碼";
}
}

輸入第1個數字:

5

輸入第2個數字:

14

輸入第3個數字:

19

輸入第4個數字:

24

輸入第5個數字:

33

輸入第6個數字:

34

輸入第7個數字:

27

猜對了 3 個彩票號碼


⑶ java程序編寫雙色球代碼

截圖:

publicclassTest1{
publicstaticvoidmain(String[]arg){
Test1localTest1=newTest1();
//雙色球:紅色球號碼+藍色球號碼
//六個紅色球和一個藍色球號碼
//紅色球號碼從1~33中選擇
//藍色球號碼從1~16中選擇
//一等獎:七個號碼相符(六個紅色號碼和一個藍色球號碼)(紅色球號碼順序不限,下同)
//二等獎:六個紅色球號碼相符;
//三等獎:五個紅色球號碼,或者四個紅色球號碼和一個藍色球號碼相符;
//四等獎:五個紅色球號碼,或者三個紅色球號碼和一個藍色球號碼相符;
//五等獎:四個紅色球號碼,或者三個紅色球號碼和一個藍色球號碼相符;
//六等獎:一個藍色球號碼相符(有誤紅色球號碼相符均可);

//例如:紅色球號碼010613192428藍色球號碼16
System.out.println("開始出獎");
//定義雙色球數組,大小為7
String[]values=newString[7];
for(inti=0;i<7;i++){
if(i==6){
intblueValue=localTest1.randomOneBlueValue();
if(blueValue<10){
values[i]="0"+blueValue;
}else{
values[i]=String.valueOf(blueValue);
}
}else{
intredValue=localTest1.randomOneRedValue();
if(redValue<10){
values[i]="0"+redValue;
}else{
values[i]=String.valueOf(redValue);
}
}
}
System.out.println();
System.out.println("出獎結束");
System.out.println();
System.out.print("雙色球開獎號碼:");
//列印雙色球號碼
for(Stringvalue:values){
System.out.print(""+value);
}
}
}

⑷ 用Java程序寫一個彩票的模擬程序生成6個紅球(1-33的隨機數),1個藍球(1-16的隨機數),隨機數可以重復

(){
Randomrandom=newRandom();
intredball[]=newint[6];
StringBufferstringBuf=newStringBuffer();
for(inti=0;i<6;){
inttemp=random.nextInt(33)+1;
if(this.isGenerated(redball,temp))
continue;
elsestringBuf.append((redball[i++]=temp)+(i==6?"":","));
}

stringBuf.append("|"+(random.nextInt(16)+1));
returnstringBuf.toString();
}
privatebooleanisGenerated(int[]scope,inttarget){
if(scope==null)returnfalse;
for(inti=0;i<scope.length;i++)
if(target==scope[i])returntrue;
returnfalse;
}

⑸ c語言彩票兌獎程序

一、主要要求:
1。自動購票
2。自動選號
3。獎金累計
4、開獎功能

二、常式:

#include<stdlib.h>
#include<time.h>
#defineRAND_MAX899;
typedefstructGr
{
charname[10];
intnum;
};
main()
{
charlaji[100];
GrRen[100];
intjiang,n=0;//n為中獎人數,jiang為中獎號碼
puts("——————————幻星彩票選購系統!———————— ");
charx;
inti=0,j;
inttemp=3;
a1:puts("請選擇:1-購票,2-自動選號,3-獎金累計,4-開獎(退出請直接關閉程序!)");
scanf("%c",&x);
switch(x)
{
case'1':puts(" **************-----購票!----************ ");
printf("請輸入姓名:");
scanf("%s",Ren[i].name);printf("請輸入買入號碼(3位數字!):");
scanf("%d",&Ren[i].num);
printf("購票成功,你是第%d位購票人! ************************ ",i+1);
i++;
gets(laji);
gotoa1;
break;
//case2
case'2':puts(" **************-----自動選號!----************ ");
printf("請輸入姓名:");
scanf("%s",Ren[i].name);
srand(time(0));
//為了讓隨機數更隨機,多次設置種子數
for(intj=0;j<5;j++)
{
temp=rand();
srand(temp);
}
temp=rand();
Ren[i].num=100+temp%899;
printf("選號成功!您的號碼是:%d",Ren[i].num);
printf(" ************************ ");
gets(laji);
i++;
gotoa1;
break;
//case3
case'3':puts(" **************-----獎金累計!----************ ");
printf("當前總人數為%d,當前獎金總數為:%d! ",i,2*i);
gets(laji);
puts(" ******************** ");
gotoa1;
break;
case'4':puts("****************抽獎!*************** ");
if(i==0)
{
printf("沒有人買彩票,不能開獎! ");
gets(laji);
gotoa1;
}
else
{
srand((int)time(0)%temp);
jiang=rand()%899+100;
printf("!!!!!!!!!!!!!!!!本次中獎號碼為:%d ",jiang);
for(j=0;j<i;j++)
{
if(Ren[j].num==jiang)
{
printf("中獎人:%s ",Ren[i].name);
n++;
}
}
if(n==0)
{
printf("本次開獎無中獎人數,獎金將累計到下期! ");
}
else
{
printf("本次中獎人數有:%d人,每人獎金為:%f! ",n,(float)(i*2)/n);
}
printf("歡迎大家使用幻星彩票選購系統,GoodBye!");
}
break;
default:printf(" ************輸入錯誤——————,重新輸入! ");
gets(laji);
gotoa1;
break;

}
system("pause");
}

⑹ 寫一彩票程序,要求能隨機產生並按照升序輸出1-30之間的7個數,且其中任意兩個數字不能重復,Java程序

一樓的老哥給的答案是沒問題的,而且最妙的就是那個26行的(randomNum--);
問這個問題的應該都是新手,所以我就解釋一下這個老哥寫的代碼意思;
首先創建一個30長度的數組,遍歷賦值,這個裡面數字為1-30的數組就是取值范圍;
我們會從這個數組里取到我們需要的隨機數.
然後創建一個7長度的答案數組,這個數組用來裝答案.
生成隨機數的random要放在for循環裡面,每循環一次都能獲得不同的隨機數.
這里注意26行的randomNum--,每循環一次,我們的取值范圍下標就提前一位,也就是說,第一次賦值,取值范圍是30個數全部,第二次--之後變成了前29個數,每循環一次減去一,每次循環都把最後一位數剔除出取值范圍;
從取值范圍數組里隨機拿一個數放到答案數組第一位,然後這個數我們就跟最後一位數交換,
隨後randomNum--,我們已經取過的這個數,跟最後一位數交換,而且退出了取值范圍了,
舉個例子,答案數組現在是空的{}, 取值范圍數組現在有{1,2,3};
第一次循環之後,假如答案數組變成:{1},那個取值范圍就變成了{3,2}1,已經取值過的1,因為randomNum--,已經跟最後一位交換並且剔除了.

閱讀全文

與彩票編程代碼相關的資料

熱點內容
分布式服務如何跨庫統計數據 瀏覽:829
力控轉發數據客戶端模式如何建立 瀏覽:200
怎麼樣讓自己的網站不被別人看到 瀏覽:711
編程擴展效果如何 瀏覽:335
榮耀暢玩手環同步qq 瀏覽:475
怎麼向sql中添加資料庫 瀏覽:596
錄歌失敗重啟app什麼意思 瀏覽:522
壓縮文件包怎麼在微信發送 瀏覽:432
mysql資料庫怎麼插入時間值 瀏覽:191
微信視頻不能轉發朋友圈 瀏覽:596
影視後期的app有哪些 瀏覽:956
電子保單數據出錯什麼意思 瀏覽:368
如何以文件下載音樂 瀏覽:438
計算機網路章節練習 瀏覽:999
單片機的外部中斷程序 瀏覽:48
表格批量更名找不到指定文件 瀏覽:869
js的elseif 瀏覽:584
3dmaxvray視頻教程 瀏覽:905
imgtool工具中文版 瀏覽:539
java幫助文件在哪裡 瀏覽:965

友情鏈接