#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int a[7];
int b[7]={-1,-1,-1,-1,-1,-1,-1};
int c;
int i,j,k,flag=1;
void main()
{
time_t t;
srand((unsigned)time(&t));
while(flag)
{
/*******************************************************************************/
printf("彩票6+1兌獎程序\n姓名: \n");
printf("中 獎 號 碼 為:");
for(i=0;i<6;i++)/*產生前六個數***/
{
while((b[i]<0)||(b[i]>9))
{
b[i]=rand()%10;
for(j=0;j<i;j++)
{
if((i>0)&&(b[i]==b [j]))
{
b[i]=-1;
break;
}
}
}
}
/*************************產生第7位數*****/
while((b[6]<0)||(b[6]>9))
{
b[i]=rand()%34;
}
for(i=0;i<5;i++)/******給前6個數排序****/
for(j=0;j<5-i;j++)
for(i=0;i<7;i++)
{
if(b[i]<10)
{
printf("%d",b[i]);
}
else
printf("%3d",b[i]);
}
printf("\n");
printf("\n");
printf("請輸入妳的7個號碼,以空格隔開: ");
scanf("%d%d%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6]);
for(i=0;i<5;i++)
for(j=0;j<5-i;j++);
printf("\n");
/******************************/
printf("妳輸入的號碼為:");
for(i=0;i<6;i++)
{
if(a[i]<10)
{
printf("%d",a[i]);
}
else
printf("%3d",a[i]);
}
if(a[6]<10)
{
printf("%d\n",a[6]);
}
else
printf("%3d\n",a[6]);
printf("\n");
/**********判斷彩民輸入的號碼是否正確(即前6個數在0~33之間,且無重復,第7個數在0~16之間 flag為標誌位****/
flag=0;
if(a[0]<0)
flag=1;
if(a[5]>9)
flag=1;
if(a[6]<0)
flag=1;
else if(a[6]>9)
flag=1;
for(i=0;i<5;i++)
{
if(a[i]==a[i+1])
flag=1;
}
/********************/
if(flag==1)
{
printf("妳輸入的號碼不正確,請重新輸入\n");
printf("\n");
}
}
/*******************************************************************************/
/*********************************************************/
/******************判斷中獎情況***************************/
for(i=0,k=0;i<6;i++)
{
if(a[i]==b[i])
k++;
else
break;
}
j=0;
if(a[6]==b[6])
j=1;
/**** 中獎規則:6+1壹等獎,6+0 二等獎,5+1 三等獎,5+0或4+1 四等獎,4+0或3+1 五等獎,2+1或1+1或0+1六等獎**********/
if((k==6)&&(j))
printf("恭喜妳中了特等獎\n");
else if((k==6)&&(!j))
printf("恭喜妳中了壹等獎\n");
else if(((k==5)&&(j))||((k==5)&&(!j)))
printf("恭喜妳中了二等獎\n");
else if(((k==4)&&(!j))||((k==4)&&(j)))
printf("恭喜妳中了三等獎\n");
else
printf("沒中獎\n");
printf("\n");
}
/**************結束***************/