我自己用C语言编了个彩票兑奖程序,30选7的,一等奖对7个100W,二等奖对6个1W,三等奖对5个200,四等奖对4个5块,有复式的,以下是我的程序,高手帮我修改下哈
PP(int a,int b)
{
int c=1,i;
for(i=b;i>=(b-a+1);i--)
c*=i;
return(c);
}
J(int a)
{
int c=1,i;
for(i=1;i<=a;i++)
c*=i;
return(c);
}
CC(int a,int b)
{
int c;
c=PP(a,b)/J(a);
return(c);
}
main()
{ int i,j,k,w,m,a[7],b[30],d[4];
long f;w=0;
printf("shu ru zhong jiang hao ma\n");
for(i=0;i<7;i++)
scanf("%d",&a);
printf("shu ru nin xuan de hao ma ge shu\n");
for(j=0;j<30;j++)
scanf("%d",&m);
printf("shu ru nin xuan de hao ma \n");
for(k=0;k<m;k++)
scanf("%d",&b[k]);
for(i=0;i<7;i++)
{
for(k=0;k<30;k++)
if(a==b[k])
w++;
}
switch(w)
{ case 4: d[0]=0,d[1]=0,d[2]=0,d[3]=CC(3,m-4);break;
case 5: d[0]=0,d[1]=0,d[2]=CC(2,m-5),d[3]=CC(3,m-4);break;
case 6: d[0]=0,d[1]=CC(1,m-6),d[2]=CC(2,m-5),d[3]=CC(3,m-4);break;
case 7: d[0]=1,d[1]=CC(1,m-6),d[2]=CC(2,m-5),d[3]=CC(3,m-4);break;
default: printf("nin mei you zhong jiang\n");
f=d[0]*1000000+d[1]*10000+d[2]*200+d[3]*5;
printf("nin de zong jiang jin wei%ld\n",f);
}
}