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

题目链接程序#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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 各种数据流图实例「建议收藏」

    转载自:https://blog.csdn.net/thisispan/article/details/75723311.某公司的营销系统2.学校的图书管理系统34.

    2022年4月13日
    38
  • vue的双向绑定原理_vue2双向绑定原理

    vue的双向绑定原理_vue2双向绑定原理1、背景今天要讲的内容是Web前端框架vue.js中的一个细节,注意是细节哦,稍不留神就掉坑里了。由于这两天在公司开发前端vue页面,踩到了一个坑,这个坑不大不小的,但是对于我这种除非公司需要,否则不会主动学习前端技术的后端开发者来说,这个坑困扰了我半天时间。无论怎么修改代码,还是实现不了效果,归根结底还是没有找到问题的点所在。凡事都有好的一面,今天上午脑子就开了光,思路比昨天下午清晰多了,顺着思路,我终于发现了问题的点所在,然后百度一搜,果然是这样,嗨!于是我决定总结一番!大家都知道,vu

    2022年10月18日
    4
  • ubuntu下载pycharm并安装_ubuntu卸载pycharm

    ubuntu下载pycharm并安装_ubuntu卸载pycharm1.下载PyCharm安装包1)进入PyCharm官网,选择Professional专业版,直接点击DOWNLOAD,如图1;2)进入跳转页面,出现提示框,点savefile,开始下载;3)下载完成后,安装包在Downloads文件夹下,如图2;2.安装PyCharm1)解压文件。右键安装包,点击“ExtractHere”,如图3,图4;图三:解压图四:解压后2)先整理文件夹,把pycharm-2018.1.4文件夹放在Downloads根目录,方便找到;3)打开终端,进

    2022年8月26日
    7
  • emwin 汉字_emwin 弹出效果

    emwin 汉字_emwin 弹出效果emWin—显示汉字最近接触了emWin,需要做一个简单的界面,尝试在基于stm32f429的触摸屏上显示汉字,根据例程里面的操作,字库取模得到了C文件,添加到keil工程里面,最后在触摸屏上却没有显示任何汉字,对于emWin界面的程序结构一脸懵,最后发现有些小细节没有注意。1.字库取模①首先创建一个.txt文本文档,把需要显示的汉字添加进去,然后选择另存。②打开软件FontCvt,生成…

    2022年10月14日
    2
  • 2021十大国际黄金交易APP平台排名一览

    2021十大国际黄金交易APP平台排名一览国际黄金交易作为一个国际投资产品在投资市场中成功接棒。作为当下热门的投资,经常有投资者询问小编国际黄金交易盈利技巧在于哪里,其实国际黄金交易比较简单,找到一个正规合适的平台就是盈利的关键。如今已是移动互联网时代,各类APP层出不穷,也有不少浑水摸鱼之辈。国际黄金市场波动大,需要一个稳定的平台来承受变化莫测的黄金市场,才方便投资者做出相对应的操作,那么国际黄金交易APP怎么选呢?下面让小编给大家介绍“2021十大国际黄金交易APP平台排名一览”,仅供大家参考。1、金荣中国APP金荣中国属金银业贸易场A

    2022年6月16日
    40
  • Error:Execution failed for task ‘:app:preDebugAndroidTestBuild’.

    Error:Execution failed for task ‘:app:preDebugAndroidTestBuild’.

    2021年3月12日
    166

发表回复

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

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