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

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

双色球:从 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]退出\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]退出\n");

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

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


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

残念。。
posted @ 2005-10-23 23:34  suifei  阅读(4688)  评论(1编辑  收藏  举报