花千骨之凤羽灵:揭开福利彩票3D的中奖概率 Cbb语言编写 - 阿浪的日志 - 网易博客

来源:百度文库 编辑:九乡新闻网 时间:2024/05/03 06:47:03

C语言编写:福利彩票3D游戏玩法的程序。此3D彩票游戏,包括直选 和组选。无论是直选还是组选,购买的期数越多中奖的概率就越高。从此程序了解到福彩的中奖概率。

 

#include
#include
#include

void RecordEnter(int En[],int n) //记录彩民购买3D幸运号码
{
 int i;
 printf("下面显示您所购买的3D彩票号码:\n");
 for(i=0;i  printf("%d ",En[i]);
 printf("\n");
}
void GameRule(int En[],int n) //3D彩票游戏玩法规则函数定义
{
 int i,j,sing[3]; //sing[3]发出警报声
 for(j=0;j<3;j++)
  sing[j]=7;
 for(i=0;i  while(En[i]<0||En[i]>9)
  {
   for(j=0;j<5;j++)
    printf("%c",sing[j]); //警报声提示非法输入
   printf("您输入的3D号码 %d 不符合3D游戏玩法规则 \n请在0-9范围内重新输入\n",En[i]);
            scanf("%d",&En[i]);
  }
}
void Prize(int En[],int Ball[],int n,int method,int count) //中奖号码查询 函数定义
{
   int i,j,k; //method变量代表购买彩票哪种方式,比如直选,组选(组选三,组选六)。
   int mark=0,sing=7; //mark代表中奖情况
   if(method==1)  //直选查询中奖号码
   {
    for(i=0;i    {
        if(En[i]==Ball[i])
         mark=mark+1;
    }
      if(mark==3)
   {
    printf("%c",sing);  //中奖提示声
  printf("*****************************************\n");
     printf("恭喜您 您直选号码中奖了 奖金1000块\n");
  printf("*****************************************\n");
  if(1000-2*count>0)
   printf("此次购买彩票您赚了%d块\n",1000-2*count);
     if(1000-2*count==0)
   printf("此次购买彩票您不亏 也不赚:\n");
        if(1000-2*count<0)
  printf("此次购买彩票您亏:%d\n",2*count-1000);
     exit(1);
   }
   else
  printf("此期开奖没有中奖哦\n感谢您对福利彩票事业的支持 欢迎您下次再来\n");
   }
   if(method==2) //组选查询中奖号码
   {
    for(i=0;i    {
     k=i;
     for(j=i;j      if(En[k]==Ball[j])
       mark=mark+1;
    }
    if(mark==3)  //比如:223和222就是组选三,123就是组选六
    {
          if(En[0]!=En[1]&&En[0]!=En[2]&&En[2]!=En[1])
     if(Ball[0]!=Ball[1]&&Ball[0]!=Ball[2]&&Ball[2]!=Ball[1])
     {
      printf("%c",sing);  //中奖提示声
            printf("*****************************************\n");
               printf("恭喜您 您组选六中奖了 奖金160块\n");
            printf("*****************************************\n");
            if(160-2*count>0)
           printf("此次购买彩票您赚了%d块\n",160-2*count);
               if(160-2*count==0)
           printf("此次购买彩票您不亏 也不赚:\n");
                  if(160-2*count<0)
              printf("此次购买彩票您亏:%d\n",2*count-160);
              exit(1);
     }
         else
          printf("此期开奖没有中奖哦\n感谢您对福利彩票事业的支持 欢迎您下次再来\n");
    }
    else
     if(mark==5||mark==9)
     {
            printf("%c",sing);  //中奖提示声
            printf("*****************************************\n");
               printf("恭喜您 您组选三中奖了 奖金320块\n");
            printf("*****************************************\n");
            if(320-2*count>0)
           printf("此次购买彩票您赚了%d块\n",320-2*count);
               if(320-2*count==0)
           printf("此次购买彩票您不亏 也不赚:\n");
                  if(320-2*count<0)
              printf("此次购买彩票您亏:%d\n",2*count-320);
              exit(1);
     }
         else
    printf("此期开奖没有中奖哦\n感谢您对福利彩票事业的支持 欢迎您下次再来\n");

   }

}
void ThreeBall(int En[],int n,int method,int count) //3D彩票游戏玩法开奖结果函数定义
{
 int Ball[3]; //记录开奖号码
 int i,j; //j代表开奖期数
 for(j=1;j<=count;j++)
 {
  printf("\n第 %d 期随机筛选的3D彩票开奖号码:\n",j);
  for(i=0;i<3;i++)
  {
   Ball[i]=rand()%10;
   printf(" %d ",Ball[i]);
  }
  printf("\n");
  if(count==j)
  {
   printf("*****************************************\n");
       printf("此次购买彩票 您亏了%d块\n",2*count);
   printf("*****************************************\n");
  }
  Prize(En,Ball,3,method,count);
 }
 printf("\n祝君恭喜发财\n\n");
}
void Guide() //福彩3D 操作向导系统
{
    int i,En[3],method,count,begin,money;
 int sing[2]; //鸣叫声
    printf("              欢迎进入福利彩票3D阿浪摇奖系统    \n\n");
    printf("*******************************************************\n");
 printf("请在0-9范围内输入任意3个整型数字:\n");
 for(i=0;i<3;i++)
        scanf("%d",&En[i]);
 GameRule(En,3);
 RecordEnter(En,3);
 printf("\n请输入您购买3D彩票的方式:\n直选 请按1\n组选 请按 2\n");
    scanf("%d",&method);
 while(method!=1&&method!=2)
 {
  for(i=0;i<2;i++)
  {
   sing[i]=7;
   printf("%c",sing[i]);
  }
  printf("您操作出错:请重新选择\n\n直选 请按1\n组选 请按 2\n");
  scanf("%d",&method);
 }
 printf("请输入您福彩3D摇奖期数:\n");
 scanf("%d",&count);
 while(count<=0||count>1000)
 {
  for(i=0;i<2;i++)
  {
   sing[i]=7;
   printf("%c",sing[i]);
  }
  if(count>1000)
   printf("从彩民利益出发 此系统不提倡购买彩票数量超过1000\n");
  else
            if(count==0)
   printf("您还没有确定购买彩票的数量:\n");
      else
   printf("您输入非法数字:\n");
  printf("请重新输入:\n");
  scanf("%d",&count);
 } 
 printf("您所需付款金额为:%d块\n请付款\n",money=count*2);
 scanf("%d",&money);
 while(money<2*count)
 {
  for(i=0;i<2;i++)
  {
   sing[i]=7;
   printf("%c",sing[i]);
  }
   printf("\n您付款金额不足 \n请您重新付款 %d块\n",2*count);
   scanf("%d",&money);
 }
 if(money>2*count)
 {
  for(i=0;i<2;i++)
  {
   sing[i]=7;
   printf("%c",sing[i]);
  }
  printf("您付款金额超过彩票费用所需金额\n\n系统已退还 %d 块\n",money-2*count);
  money=2*count;
 }
 printf("彩票费用您已经付款了\n");
 printf("\n欢迎您进入3D游戏玩法界面:\n下面预测出未来%d期内的开奖号码\n",count);
    printf("\n如果您决定购买 请按1\n 如果您暂时不购买 请按2\n");
 scanf("%d",&begin);
 while(begin!=1&&begin!=2)
 {
  for(i=0;i<3;i++)
     printf("%c",sing[i]);
  printf("您的操作方式错误\n如果您决定购买 请按1\n如果您暂时不购买 请按2\n");
  scanf("%d",&begin);
 }
 if(begin==2)
 {
  printf("\n彩票费用 已退还\n");
  printf("\n您已经退出了 摇奖系统\n");
 }
 else
     ThreeBall(En,3,method,count);  
}

void main()
{
 void ThreeBall(int En[],int n,int method,int count); //3D彩票游戏玩法开奖结果函数声明
 void RecordEnter(int En[],int n);//记录彩民购买3D幸运号码
    void Prize(int En[],int Ball[],int n,int count); //3D彩票中奖查询函数
    void GameRule(int En[],int n); //3D彩票游戏玩法规则函数
 void Guide(); //福彩3D摇奖系统向导
    srand((unsigned)time(NULL));
 Guide();