//第49行那里,注释与否,为什么会影响最终结果,太奇怪了,而且为什么定义的查奖函数,重复调用,结果会不同?以下是代码
#include <stdio.h>
#include <stdlib.h>
int prizecheck(int a[7],int p[7])//a为奖号,p为买的号,返回中了几个号
{
int ct;
for(int i=0;i<7;i++)
{
for(int j=0;j<7;j++)
{
if(a[j]==p[i])
{
ct++;
}
}
}
return ct;
}
int main()
{
int n,ans[7];//n为彩票数,最终输出结果
scanf("%d",&n);
int a[7],p[n][7];//a为奖号,p为买的n张彩票
for(int i=0;i<7;i++)//结果矩阵初始化
{
ans[i]=0;
}
for(int j=0;j<7;j++)//输入奖号
{
scanf("%d",&a[j]);
}
for(int j=0;j<n;j++)//输入买的彩票
{
for(int i=0;i<7;i++)
{
scanf("%d",&p[j][i]);
}
}
for(int j=0;j<n;j++)//检查每张奖票,给对应奖项位置加一
{
int k=prizecheck(a,p[j]);
if(k!=0)
{
printf("%d\n",k);//把这一行注释掉,输出的结果不一样,什么原因??
ans[7-k]+=1;
}
}
for(int j=0;j<7;j++)//输出结果
{
printf("%d ",ans[j]);
}
return 0;
}