开放题代码(尚未全部实现)

#include <stdio.h>
#include <string.h>
#define S 100  //假定次数分界线为100
#define T 200 //假定请求值分界线为200 
int main()
{
    FILE * fp=fopen("Request.txt","r");
    struct date{
        char name[10];
        int x;  //请求值大小 
        int sum=0;  //垃圾请求的次数 
    }n[20000];
    int i=0,cnt=0,j;
    while(fscanf(fp,"%s %*s %d",&n[i].name,&n[i].x)!=EOF){
        for(j=0;j<i;j++)    //新读入的是否已经出现过    
            if(strcmp(n[i].name,n[j].name)==0){ //如果已经出现过且为垃圾请求 
                if(n[i].x<=T){ 
                    n[j].sum++;
                    //if(n[j].sum>=T)n[j]
                    break;
                    }   
            }
        if(n[i].x<=T&&j!=i)n[i].sum++;//如果没有出现过且为垃圾请求 
        i++;
        //if(n[i].sum) 
    }
    for(int j=0;j<i+1;j++)
        if (n[j].sum>=S)cnt++;//统计黑客数目
    printf("%d\n",cnt);
    for(int j=0;j<i+1;j++)
        if (n[j].sum>=S)printf("%s\n",n[j].name);//输出名字 
    
    fclose(fp); 
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/zlonglongago/p/10349655.html