中奖号码想要用机器快速判断该彩票是几等奖。

每张彩票上有六个数字,数字大小范围是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;
}


您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632