双色球中奖的规则:如下
闲暇时编了这个小游戏:
①输入6红球,1蓝球即可使用,一等奖号码是随机的
②红球:1~33,蓝球:1~16
③ 代码不是最佳,请自行修改
附代码:
#include <bits/stdc++.h>
#include <windows.h>
using namespace std;
int i,j,p,a[6],b,ansa[6],ansb,suma=0,sumb=0,flag[34];
void inf(int i)
{
ansa[i]=rand()%(33-1+1)+1;
while(flag[ansa[i]]==0)
{
ansa[i]=rand()%(33-1+1)+1;
}
flag[ansa[i]]--;
}
void in()
{
ansa[0]=rand()%(33-1+1)+1;
flag[ansa[0]]--;
for(i=1;i<=5;i++)
{
inf(i);
}
}
void selection(int s[6])
{
int k;
for(i=0;i<=5;i++)
{
k=i;
for(j=i+1;j<=5;j++)
{
if(s[j]<s[k])
{
k=j;
}
}
if(k!=i)
{
swap(s[i],s[k]);
}
}
}
void re(int a[6])
{
for(i=0;i<=4;i++)
{
if(a[i]==a[i+1])
{
in();
selection(a);
break;
}
}
}
void eq()
{
for(i=0;i<=5;i++)
{
for(j=0;j<=5;j++)
{
if(ansa[i]==a[j])
{
suma++;
}
}
}
if(ansb==b)
{
sumb++;
}
}
int award(int suma,int sumb)
{
if(suma+sumb==7)
{
return 1;
}
else if(suma==6)
{
return 2;
}
else if(suma+sumb==6)
{
return 3;
}
else if(suma+sumb==5)
{
return 4;
}
else if(suma+sumb==4)
{
return 5;
}
else if(sumb==1)
{
return 6;
}
else
{
return 7;
}
}
int main()
{
srand(time(NULL));
cout<<"请输入红球号码6个,蓝球号码一个:" ;
memset(flag,1,sizeof(flag));
in();
selection(ansa);
re(ansa);
ansb=rand()%(16-1+1)+1;
for(i=0;i<6;i++)
{
cin>>a[i];
}
cin>>b;
selection(a);
for(i=0;i<=4;i++)
{
if(a[i]==a[i+1]||a[i]>33||a[i]<1)
{
cout<<"双色球不合法!!!"<<endl;
return 0;
}
}
if(b>16||b<1)
{
cout<<"双色球不合法!!!"<<endl;
return 0;
}
eq();
if(award(suma,sumb)==1)
{
cout<<"您中了一等奖。"<<endl;
}
else if(award(suma,sumb)==2)
{
cout<<"您中了二等奖。"<<endl;
}
else if(award(suma,sumb)==3)
{
cout<<"您中了三等奖。"<<endl;
}
else if(award(suma,sumb)==4)
{
cout<<"您中了四等奖。"<<endl;
}
else if(award(suma,sumb)==5)
{
cout<<"您中了五等奖。"<<endl;
}
else if(award(suma,sumb)==6)
{
cout<<"您中了六等奖。"<<endl;
}
else if(award(suma,sumb)==7)
{
cout<<"对不起,您未中奖。"<<endl;
}
cout<<"一等奖号码为:"<<endl<<"红球:";
for(i=0;i<6;i++)
{
cout<<ansa[i]<<" ";
}
cout<<endl<<"蓝球:"<<ansb<<endl;
cout<<endl<<"10秒后消失"<<endl;
Sleep(10000);
return 0;
}
可以自己玩的哦。