lalalala


私信TA

用户名:zhangshuo

访问量:161519

签 名:

像狗一样的学习,像绅士一样地玩耍。

等  级
排  名 7
经  验 31298
参赛次数 10
文章发表 201
年  龄 12
在职情况 学生
学  校 芜湖市第十一中学
专  业

  自我简介:

今日懒惰流下的口水,将会成为明日里伤心的泪水。

解题思路:





注意事项:





参考代码:

#include <iostream>
#include <algorithm>
using namespace std;
int jdj(int*y,int*x)//为“几等奖”的拼音,高大上的含数 (语文老师:你可千万别说语文是我教的){    int z[8],tj=0;//中奖统计 
    for(int ii=1;ii<=7;ii++)
        z[ii]=y[ii];//为保证源数据不变,定义新数据并赋值 
    for(int ii=1;ii<=7;ii++)        
    for(int j=1;j<=7;j++)            
    if(x[ii]==z[j])//如果有号码相等,则判定为中奖 
            {
                tj++;//别忘了,几等奖就有七减几个数对应 
                z[j]=-1;//这个非常非常重要!要不然你会被这种数据卡:中奖:1 2 3 4 5 6 7,小明:1 1 1 1 1 1 1,明显应为六等奖,但若无这句,就为特等奖 
                break;//不break会导致tj为负数(有可能)
            }    return 7-tj;//中奖回馈,7为未中奖,0为特等奖 }
    int main(){    
    int n;    
    cin>>n;    
    int a[8],c[8];//a为中奖号码,c是中奖情况 (b作为循环变量了qwq) 
    for(int i=1;i<=7;i++)//读入中奖号码 
    { 
        cin>>a[i];
        c[i]=0;
    } 
    for(int i=1;i<=n;i++)
    {        int b[8];//b是小明选的号码
        for(int j=1;j<=7;j++)//读入小明选的号码 
            cin>>b[j];
        sort(b+1,b+8);//最好用的sort排序 
        int m=jdj(a,b);//求几等奖 
        if(7-m)c[m+1]++;//存入对应数组 
    }    for(int i=1;i<=7;i++)//输出中奖情况 
        cout<<c[i]<<' '/*这个空格不能少,要不然你就全哇(WA)了*/;   
     return 0;//大功告成 
     }


 

0.0分

0 人评分

  评论区

  • «
  • »