寻找黑客(怎么找黑客的联系方式)

题目链接程序#include<stdio.h>#include<stdlib.h>#include<string.h>#defineMAXREQS15000#defineSUMLEN1500typedefstructRequests{charsender[10];//sendername,allreciv…

大家好,又见面了,我是你们的朋友全栈君。

题目链接

程序

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAXREQS 15000
#define SUMLEN 1500

typedef struct Requests
{
    char sender[10]; //sender name, all recivers are the same
    int length;  //the length of each request
}Reqs;
typedef struct Senders
{
    char name[10]; //sender name
    int Newlength;  //the total length of each sender
}Send;

//check if str[] is in the send[], if yes return its procession, if no return -1
int IsRepeat(char str[], Send send[])
{
    int i = 0;
    int index = -1;
    for(i=0; i<MAXREQS; i++)
    {
        if (strcmp(str, send[i].name) == 0)
        {
            index = i;
            break;
        }
    }
    return index;
}

int main(int argc, char *argv[])
{
    FILE *fp1,*fp2;
    Reqs reqs[MAXREQS] = {
   
   {},{},{},{},{},{},{},{}}; //max num we can process is MAXREQS
    Send send[MAXREQS] = {
   
   {},{},{},{},{},{},{},{}};
    int i=0,j=0,index=0,HackNum=0; 

    if(argc == 1){
        printf("error, have not entered file name\n");
        exit(0);
    }
    else if(argc > 1)
    {
        if((fp1=fopen(argv[1],"r")) == NULL){
            printf("error, cannot open %s\n",argv[1]);
            exit(0);
        }
        if(argc == 2)
            fp2 = stdout;
        else
            fp2=fopen(argv[2],"w");
    }

    i=0;j=0;
    while(fscanf(fp1,"%s%*s%d",reqs[i].sender,&reqs[i].length) != EOF)
    {
        index = IsRepeat(reqs[i].sender, send);
        if (index == -1)
        {
            strcpy(send[j].name,reqs[i].sender);
            send[j].Newlength = reqs[i].length;         
            j++;
        }
        else
        {
            //update the repeat value
            send[index].Newlength = send[index].Newlength + reqs[i].length;
        }
        i++;
    }
    
    //find the hackers who's length is more than SUMLEN
    for(i=0; i<j; i++)
    {
        if(send[i].Newlength >= SUMLEN)
        {
            HackNum++;
        }
    }
    fprintf(fp2,"%d\n",HackNum);
    for(i=0; i<j; i++)
    {
        if(send[i].Newlength >= SUMLEN)
        {
            fprintf(fp2,"%s\n",send[i].name);
        }
    }
    fclose(fp1);
    fclose(fp2);
    return 0;
}

运行结果

1283331-20190606132713770-1491991423.png

1283331-20190606132858795-255641771.png

1283331-20190606132930136-251688783.png

转载于:https://www.cnblogs.com/fjlinww/p/10909212.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/125536.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • C++常见几种输入方法评测(int && long long)

    C++常见几种输入方法评测(int && long long)

  • to program_I Just Want To

    to program_I Just Want To在http://forum.doom9.org/showthread.php?t=109747上看到的一篇文章,讲得不错,翻译一下,以作备忘。原文是:InX264therearetwodeblockingparameters,calledDeblockingstrengthandDeblockingthreshold.Thestrengthp

  • int a[5]={1,2,3,4,5};printf(&quot;%d\n&quot;, *((int*)(&amp;a+1)-2);

    int a[5]={1,2,3,4,5};printf(&quot;%d\n&quot;, *((int*)(&amp;a+1)-2);

  • 脚手架专项施工方案范本_脚手架搭建方案

    脚手架专项施工方案范本_脚手架搭建方案前言如何快速搭建一个httprunner项目呢?我们可以使用脚手架,脚手架就是自动地创建一些目录,形成一个项目的架构,不需要我们再手动的去创建查看创建新项目的命令先来查看一下帮助命令httpr

  • 最经典的黑客入门教程[通俗易懂]

    最经典的黑客入门教程[通俗易懂]第一节、黑客的种类和行为以我的理解,“黑客”大体上应该分为“正”、“邪”两类,正派黑客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,而邪派黑客则是通过各种黑客技能对系统进行攻击、入侵或者做其他一些有害于网络的事情,因为邪派黑客所从事的事情违背了《黑客守则》,所以他们真正的名字叫“骇客”(Cracker)而非“黑客”(Hacker),也就是我们平时经常听说的“黑客”(Cacker)和“红客”(Hacker)。无论那类黑客,他们最初的学习内容都将是本部分所涉及的内容,而且掌握的基本技能也都是.

  • java设置httponly,java设置httponly

    java设置httponly,java设置httponly()+3600*24,””,””,0);setcookie(“TestCookie”,”abcdef”,time()+3600*24,””,””,1);?>//末尾0表示未设置httponly表中,1表示设置该位规范编码……java项目部署指南_IT/计算机_专业资料。部署安装手册1.0目第一章、简单安装部署录1、JDK安装和配置2、Tomcat的安装和配置…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号