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

题目链接程序#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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mysql之锁、事务绝版详解—干货!

    Mysql之锁、事务绝版详解—干货!

    2022年2月10日
    34
  • 2019工程伦理慕课答案(2019秋)习题及期末答案

    2019工程伦理慕课答案(2019秋)习题及期末答案第一章习题(下)单选题(1/1point)下列哪一项不是工程与技术的区别内容和性质目的活动主体任务、对象和思维方式单选题(1/1point)下列哪一项不是工程活动的特征自主性创造性社会性确定性多选题(1points)下列哪项是工程的完整生命周期中的环节计划设计评估完成判断题(1/1point)计划、设计、建造…

    2022年5月30日
    35
  • MySQL数据库建立数据库和表(命令行方式)

    MySQL数据库建立数据库和表(命令行方式)最近在学数据库系统概论,以前建表都是直接用workbeach,但是作为一个计算机专业的学生,我觉得能敲的时候就少点,所以分享一个自己用命令创建数据库和表的过程,希望对一些人有点用!安装好数据库后,我们可以看到这些东西可以这么简单的认识,划红线的是通过命令行来操作数据库,划绿线的是操作数据库的图形化界面,这里我分享的是通过命令行来操作,以《数据库系统概论》第五版第三章为例创建一个我们平时…

    2022年7月19日
    14
  • c语言建立二叉树的算法代码(C语言数据结构二叉树实现)

    构造二叉树结点结构typedefstructBT{chardata;structBT*l_chrild;structBT*r_chrild;}BT;创建二叉树BT*Create_tree()//创建二叉树{BT*bt;charx;scanf(“%c”,&x);getchar();if(x

    2022年4月12日
    53
  • 矩阵求逆的_matlab计算矩阵的逆矩阵

    矩阵求逆的_matlab计算矩阵的逆矩阵首先输入矩阵,例如:octave:1&gt;a=[3,4;2,16]a=  3  4  2 16然后,利用pinv函数求逆octave:2&gt;pinv(a)ans=  0.400000 -0.100000 -0.050000 0.075000octave:3&gt;pinv(a)*aans=  1.00000 -0.00000  0.00000 …

    2022年8月21日
    6
  • ConcurrentHashMap实现原理及源码分析

    ConcurrentHashMap实现原理及源码分析一、ConcurrentHashMap跟HashMap,HashTable的对比HashMap不是线程安全:在并发环境下,可能会形成环状链表(扩容时可能造成,具体原因自行百度google或查看源码分析),导致get操作时,cpu空转,所以,在并发环境中使用HashMap是非常危险的HashTable是线程安全的:HashTable和HashMap的实现原理几乎一样,差别:1.Ha…

    2022年6月24日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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