您的位置:首页 > 编程语言

老是不中,算了算“双色球”和“3D”,全买到底要多少¥¥。。(C 代码)

2005-10-23 23:34 309 查看
最近也做发财梦,买了段时间得彩票,不得要领,今天写了两个小程序,算算把所有号码组合都买下到底要多少¥¥。。
还是先贴个规则吧;

双色球:从 1~33 中选6个不重复得数值(红球),并从1~16之间选择1个(兰球),如果全中就是500W,如果只有1个没中就是2奖也有个1XW,周1,4,7开奖;

3D:从0~9挑选3个号码,可重复,但数值顺序必须和开奖号码一致,奖金1000¥,不用缴税。

以下是模拟所有3D号码得组合:

1 // 计算3D.cpp : Defines the entry point for the console application.
2 //
3
4 #include "stdafx.h"
5 const MAXNUM = 9;
6 const PAGESIZE = 40;
7
8 int main(int argc, char* argv[])
9 {
10 printf("***************BEGIN!****************\n");
11
12 int id = 0;
13 int award_i = -1;
14 int award_ii = -1;
15 int award_iii = -1;
16 int isToEnd = 0;
17
18 LRTL:
19 printf("按分页浏览吗?[Y]");
20 if(getchar()==13||getchar()=='y'){
21 isToEnd = 1;
22 }else{
23 isToEnd = 0;
24 }
25
26 printf("请输入中奖号码:\n");
27 scanf("%d%d%d",&award_i,&award_ii,&award_iii);/*输入三个整数*/
28
29 for(int i=0;i<=MAXNUM;i++)
30 for(int ii=0;ii<=MAXNUM;ii++)
31 for(int iii=0;iii<=MAXNUM;iii++){
32 id ++;
33 if(isToEnd==1){
34 if(id % PAGESIZE==0){
35 printf("按任意键继续\n");
36 getchar();
37 }
38 }
39 printf("第%d组: %d%d%d 累计金额:¥%d\n",id,i,ii,iii,id*2);
40
41 if(i==award_i && ii==award_ii && iii==award_iii){
42 printf("中奖号码:%d%d%d 花费总金额 %d 元,按任意键继续\n",i,ii,iii,id * 2);
43 getchar();
44 getchar();
45 }
46 }
47 printf("所有号码全买总金额 %d 元",id * 2);
48 getchar();
49 printf("按[Y]继续
退出\n");
50 if(getchar()=='y' || getchar()==13 || getchar()=='Y'){
51 goto LRTL;
52 }
53 printf("退出");
54 getchar();
55 return 0;
56 }
57 最终运算结果:所有号码全买总金额 2000 元

以下是双色球计算:

// 计算双色球.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

const MAXNUM = 33;
const MAXBLUENUM = 16;

const PAGESIZE = 40;

int main(int argc, char* argv[])
{
printf("***************BEGIN!****************\n");

int id;
int i1,i2,i3,i4,i5,i6,i7;

LRTL:
i1=i2=i3=i4=i5=i6=i7= 0;
id = 0;
printf("请输入中奖号码:\n");
scanf("%d%d%d%d%d%d%d",&i1,&i2,&i3,&i4,&i5,&i6,&i7);

for(int n1=1;n1<=MAXNUM;n1++)
for(int n2=n1+1;n2<=MAXNUM;n2++)
for(int n3=n2+1;n3<=MAXNUM;n3++)
for(int n4=n3+1;n4<=MAXNUM;n4++)
for(int n5=n4+1;n5<=MAXNUM;n5++)
for(int n6=n5+1;n6<=MAXNUM;n6++)
for(int b1=1;b1<=MAXBLUENUM;b1++){
id ++;
if( i1==n1 &&
i2==n2 &&
i3==n3 &&
i4==n4 &&
i5==n5 &&
i6==n6 &&
i7==b1)
{
printf("中奖号码:%d,%d,%d,%d,%d,%d 蓝球: %d 花费总金额 %d 元,按任意键继续\n",n1,n2,n3,n4,n5,n6,b1,id * 2);
}

}

printf("所有号码全买总 %d 注,花费金额 %d 元",id,id * 2);
getchar();
printf(",按[Y]继续
退出\n");

if(getchar()=='y' || getchar()==13 || getchar()=='Y'){
goto LRTL;
}

printf("退出");
getchar();
return 0;
}计算结果:所有号码全买总 17721088 注,花费金额 35442176 元,按[Y]继续
退出

至今为止只中过10块,5块得。。

残念。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: