每张彩票上有六个数字,数字大小范围是1~33。
现在电视上已经公布了中奖号码。对于每张彩票,想要用机器快速判断该彩票是几等奖。
中奖规则:
中了一个数字,是六等奖,中了两个数字是五等奖。
其他依次类推,中了六个数字就是一等奖。
现在想要知道,在给定的n张彩票中,每种奖项各有多少张。
输入格式
你的程序会先输入一行整数,包含六个数字,表示中奖号码。
接下来会输入一行,一个整数n,表示彩票数量。
再接下来n行,每行六个数字,表示彩票上的数字。
n≤1,000
输出格式
你的程序输出仅一行,包含六个空格隔开的数字。
依次表示获得一等奖、二等奖、三等奖、四等奖、五等奖、六等奖的彩票数量。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int zj[6]; //中奖号码
int cp;//彩票号码
int n;
int cnt[6]={0}; //1到6等奖次数
//输入中奖号码
for(int i=0;i<6;i++)
cin >> zj[i];
//输入n
cin >> n;
for(int i = 0;i<n;i++)
{
int nmb = 0;//猜对的号码个数
for(int j = 0;j<6;j++)
{
cin >> cp;//逐个输入彩票号码
//判断号码是否是中奖号
for(int k=0;k<6;k++)
{
if(zj[k]== cp)
{
nmb++;
break;
}
}
}
if(nmb > 0)
cnt[6-nmb]+=1; //cnt[0]表示1等奖,1等奖中奖号码是6个
}
//输出结果
for(int i = 0;i<6;i++)
{
if(i<5)
cout << cnt[i]<<" ";
else
cout << cnt[i];
}
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!