#include<stdio.h>
#include<iostream.h>
#include<time.h>
#include<windows.h>
void Key(int a[],int &e) //随机生成本期号码
{ int i,j,t,check; srand(time(NULL)); //生成种子 for(i=0;i<6;)
{ check=0; a[i]=rand()%33+1; for(j=0;j<i;j++)
{ if(a[i]==a[j]) check=1; }
if(check==0) i++; else ; }
for(i=0;i<6;i++) for(j=0;j<6-i;j++)
{ if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}
} e=rand()%16+1;}int CheckAndTaxis(int t[],int e) //排序检查输入的号码//返回值:-1 :基本号码超出范围 -2:基本号码重复 -3:特殊号码超出范围 1:正常{ int i,j,temp; for(i=0;i<6;i++) //排序
{ for(j=0;j<6-i;j++) { if(t[j]>t[j+1]) {temp=t[j];t[j]=t[j+1];t[j+1]=temp;} } } for(i=0;i<6;i++) { if(t[i]>=34 || t[i]<=0) return(-1); //检查数字合格否 }
for(i=0;i<6;i++) for(j=i+1;j<6;j++)
if(t[i]==t[j]) return(-2); //检查有相同的号码出现否
if(e>16 || e<1) return(-3);//检查数字合格否 return(1);}
int Hit(int ok[],int user[],int ok_t,int user_t) //判断中奖情况(参数:开奖基本号码,用户基本号码,开奖特殊号码,用户特殊号码){ int i,k=0; for(i=0;i<6;i++) { if(ok[i]!=user[i]) break; k++; }
puts("\n"); if(k==6 && ok_t==user_t)
return(0);else if(k==6 && ok_t!=user_t)
return(1);else if(k==5 && ok_t!=user_t)
return(2);else if(k==4 && ok_t!=user_t)
return(3);else return(-1);}void main()
{ int cp[6]={0},*ok=cp,temp[6]={0},*user=temp,e,te,k; //cp[]是6位号码 e是特殊号码, temp[]是输入的基本号码 te输入的特殊号码 Key(cp,e);
puts("请输入6个(1<=X<=33)不重复的基本号码:\n");
for(int i=0;i<6;i++) cin>>*(user+i);
puts("请输入特殊号码(1<=X<=16):");
cin>>te; k=CheckAndTaxis(user,te);
if(k!=1) {puts("输入的号码错误!\n");exit(0);}
else k=Hit(ok,user,e,te); switch(k)
{ case 0: puts("恭喜你中了特等奖,你将获得500万人民币.\n");break;
case 1: puts("恭喜你中了一等奖,你将获得120万人民币.\n");break;
case 2: puts("恭喜你中了二等奖,你将获得10万人民币.\n");break;
case 3: puts("恭喜你中了三等奖,你将获得3000人民币.\n");break;
default: puts("时运不好。没有任何中奖迹象,加油!\n"); }
printf("开奖结果:基本号码:%4d %4d %4d %4d %4d %4d 特殊号码: %4d \n",cp[0],cp[1],cp[2],cp[3],cp[4],cp[5],e);
printf("中奖结果:基本号码:%4d %4d %4d %4d %4d %4d 特殊号码: %4d \n",temp[0],temp[1],temp[2],temp[3],temp[4],temp[5],te);}
#include<iostream.h>
#include<time.h>
#include<windows.h>
void Key(int a[],int &e) //随机生成本期号码
{ int i,j,t,check; srand(time(NULL)); //生成种子 for(i=0;i<6;)
{ check=0; a[i]=rand()%33+1; for(j=0;j<i;j++)
{ if(a[i]==a[j]) check=1; }
if(check==0) i++; else ; }
for(i=0;i<6;i++) for(j=0;j<6-i;j++)
{ if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}
} e=rand()%16+1;}int CheckAndTaxis(int t[],int e) //排序检查输入的号码//返回值:-1 :基本号码超出范围 -2:基本号码重复 -3:特殊号码超出范围 1:正常{ int i,j,temp; for(i=0;i<6;i++) //排序
{ for(j=0;j<6-i;j++) { if(t[j]>t[j+1]) {temp=t[j];t[j]=t[j+1];t[j+1]=temp;} } } for(i=0;i<6;i++) { if(t[i]>=34 || t[i]<=0) return(-1); //检查数字合格否 }
for(i=0;i<6;i++) for(j=i+1;j<6;j++)
if(t[i]==t[j]) return(-2); //检查有相同的号码出现否
if(e>16 || e<1) return(-3);//检查数字合格否 return(1);}
int Hit(int ok[],int user[],int ok_t,int user_t) //判断中奖情况(参数:开奖基本号码,用户基本号码,开奖特殊号码,用户特殊号码){ int i,k=0; for(i=0;i<6;i++) { if(ok[i]!=user[i]) break; k++; }
puts("\n"); if(k==6 && ok_t==user_t)
return(0);else if(k==6 && ok_t!=user_t)
return(1);else if(k==5 && ok_t!=user_t)
return(2);else if(k==4 && ok_t!=user_t)
return(3);else return(-1);}void main()
{ int cp[6]={0},*ok=cp,temp[6]={0},*user=temp,e,te,k; //cp[]是6位号码 e是特殊号码, temp[]是输入的基本号码 te输入的特殊号码 Key(cp,e);
puts("请输入6个(1<=X<=33)不重复的基本号码:\n");
for(int i=0;i<6;i++) cin>>*(user+i);
puts("请输入特殊号码(1<=X<=16):");
cin>>te; k=CheckAndTaxis(user,te);
if(k!=1) {puts("输入的号码错误!\n");exit(0);}
else k=Hit(ok,user,e,te); switch(k)
{ case 0: puts("恭喜你中了特等奖,你将获得500万人民币.\n");break;
case 1: puts("恭喜你中了一等奖,你将获得120万人民币.\n");break;
case 2: puts("恭喜你中了二等奖,你将获得10万人民币.\n");break;
case 3: puts("恭喜你中了三等奖,你将获得3000人民币.\n");break;
default: puts("时运不好。没有任何中奖迹象,加油!\n"); }
printf("开奖结果:基本号码:%4d %4d %4d %4d %4d %4d 特殊号码: %4d \n",cp[0],cp[1],cp[2],cp[3],cp[4],cp[5],e);
printf("中奖结果:基本号码:%4d %4d %4d %4d %4d %4d 特殊号码: %4d \n",temp[0],temp[1],temp[2],temp[3],temp[4],temp[5],te);}