2019第二次寒假作业
学习视频课程笔记地址:
热身题:
思路:
通过fopen 打开两个文件进行读与写 通过循环 应用getc来读入字符 fputc来写入字符 过程及结果:成功读入
基本题:
思路:读取方式与热身题相同。
我运用的是c语言的结构体。首先我是把Reques中的数据读入我构建的结构体并记录发送者数量,通过嵌套循环,通过strcmp函数判断是否是同个用户,将同个用户的请求值求和,并把请求值之和大于1500的用户提出来,并判断是否重复,如果不重复便将利用strcpy函数将其复制给另一个结构体数组,并记录黑客数量,最后分别输出黑客数量与名字。 结果:开放题:
吐槽:
一、首先需要把所有请求和信息存在下来 耗时耗内存 二、此题情况特殊: 发送者名字均为四个字符 如果不限制名字字符个数 再用这种方法 这道题会更加麻烦 而且此次数量并不大 我程序中计算过 只有一万多个 如果数量再大点 统计的无效信息很多 将耗费很多时间与内存 该题本着另可错杀一千也不放过一个,所以该方法准确率不高解决方案:
本题方法是通过统计请求值总值,我认为可以通过统计同个用户的请求次数,一般真正客户不会短时间内给你发送多次请求,一般是在一次请求内概述了他的需求, 如果短时间发送次数过多,可以大致确定是黑客。如果用户发送的信息大例如超过1500,并不能确定他就是黑客,如果是因为他需求多呢,因此通过此方法可以提高准确率优点:相对于通过计算请求值总值提高了准确率
缺点:在内存和耗时方面没有较大提高实现:暂时未实现,我觉得单用c语言的话改变应该不大,如果学习的新的语言可以尝试改进