typedef int datatype; #include "seqlist.h"
rand(seqlist *l,int n); write(seqlist *l,int n); void take_out(); int a[7];
int main() { seqlist *l; int i,j,n,k=0; srand((int)time(0));
printf("您要买多少注?"); scanf("%d",&n); printf("一共%d元\n",n*2);
l=(seqlist *)malloc(n*sizeof(seqlist)); if(l==null) { puts("overflow!"); exit(1); }
for(i=0;i<n;i++) setlist(&l,7);
printf("1.机选 2.自选"); while(k!=1&&k!=2) scanf("%d",&k);
if(k==1) rand(l,n); /* 机选 */
else write(l,n); /* 自选 */
printf("抽奖开始\n"); take_out();
printf("本期开奖号码为:"); for(i=0;i<7;i++) printf("%d ",a); printf("\n");
for(i=0;i<n;i++) { k=0; for(j=0;j<7;j++) { if(a[j]==getdata(&l,j)) /* 当对应都一样时 */ k++; } printf("您第%d注号码为: ",i+1); for(j=0;j<7;j++) printf("%d ",getdata(&l,j));
printf(" 一共中了%d个号\n",k);
}
for(i=0;i<n;i++) { freelist(&l); clearlist(&l); }
free(l); return 0; }
rand(seqlist *l,int n) /* 机选 */ { int i,j,a;
for(i=0;i<n;) { for(j=0;j<7;j++) { if(j==6) insertrear(&l,rand()%8); /* 随即抽取特别号码 */
else insertrear(&l,rand()%10); /* 随即抽取一般号码 */ }
printf("您随即抽取的第%d注号码为:",i+1); for(j=0;j<7;j++) printf("%d ",getdata(&l,j));
printf("\n1.继续 2.此注重抽:"); scanf("%d",&a);
if(a==2) { freelist(&l); clearlist(&l); continue; }
else i++; } }
write(seqlist *l,int n) /* 自选 */ { int i,j,a1; datatype k=-1;
for(i=0;i<n;) { printf("第%d注:\n",i+1); for(j=0;j<7;j++) { if(j==6) { while(1) { printf("请输入第%d个号",j+1); scanf("%d",&k); if(k<7&&k>0) break; } insertrear(&l,k);
} else { while(1) { printf("请输入第%d个号",j+1); scanf("%d",&k); if(k<9&&k>0) break; } insertrear(&l,k); } }
printf("您选取的第%d注号码为:",i+1); for(j=0;j<7;j++) printf("%d ",getdata(&l,j));
printf("\n1.继续 2.此注重抽:"); scanf("%d",&a1);
if(a1==2) { freelist(&l); clearlist(&l); continue; }
else i++; } }
void take_out() { int i,j=0;
printf("按任意键开始抽奖\n"); getch();
for(i=0;i<7;i++) { if(i==6) { while(j<max) { a=rand()%8; if(j==1) {printf("即将开出的特别号码是"); sleep(1); } printf("%d",a); delay(1000); clrscr(); j++; } printf("特别号码为:%d\n",a[6]); clrscr(); }
else { while(j<max) { a=rand()%10; if(j==1) {printf("即将开出的第%d号码是"); sleep(1); } printf("%d",a); delay(1000); clrscr(); j++; } printf("开出的第%d个号为:%d\n",i+1,a); sleep(2); } j=0; } }
[此贴子已经被作者于2004-05-06 00:02:30编辑过]