吉大秦少游 2018-11-11 15:26 采纳率: 0%
浏览 1409
已采纳

PAT乙级1059 C语言竞赛 测试点2通过不了,求助呀

 //1059 C语言竞赛 v1
#include <iostream>
#include <math.h>
using namespace std;

struct PaiMing{
    int rank;
    int id;
}pm[10001];     //save the competitors

int SushuJudge(int n){
    int flag=0,i;
    for(i=2;i<(int)sqrt(n)+1;i++){
        if(n%i==0)  flag=1;
    }
    return flag;    //flag==0,sushu
}

int main(){
    int N,i,K,j,tmp;    cin>>N;
    for(i=0;i<N;i++){
        pm[i].rank=i+1;
        cin>>pm[i].id;  //save the rank inf 
    }
    cin>>K; //save the check inf
    int cnt[10001]={0};

    for(i=0;i<K;i++){
        cin>>tmp;
        int cmp=0;
        for(j=0;j<N;j++){
            if(tmp==pm[j].id&&cnt[tmp]>0)   printf("%d: Checked\n",tmp);
            if(tmp==pm[j].id&&cnt[tmp]==0){
                printf("%04d: ",tmp);
                if(j==0)    printf("Mystery Award\n");  //rank first
                else if(SushuJudge(pm[j].rank)==0)  printf("Minion\n"); //rank sushu
                else    printf("Chocolate\n");  //others
                cnt[tmp]++; 
            }
            if(tmp!=pm[j].id){
                cmp++;
                if(cmp==N)  printf("%04d: Are you kidding?\n",tmp);
            }   
        }
    }
    return 0;
}

展开全部

  • 写回答

2条回答 默认 最新

  • Italink 2018-11-11 19:33
    关注
     printf("%04d: Checked\n", tmp);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部