求问!!!数据结构课程设计题:病毒测试程序。(c语言)

求问!!!数据结构课程设计题:病毒测试程序。(c语言),第1张

#include <stdio.h>

#include <stdlib.h>

int iGlobal

typedef struct tagNode

{

int iData

int iCount

struct tagNode *pLeft

struct tagNode *pRight

}Node

Node *Add(Node *a, Node *pNow, int iVal)

{

if (iGlobal == 0)

{

a[0].pLeft = a[0].pRight = NULL

a[0].iCount = 1

a[0].iData = iVal

++iGlobal

}

else

{

if (pNow == NULL)

{

pNow = a + (iGlobal++)

pNow->pLeft = pNow->pRight = NULL

pNow->iCount = 1

pNow->iData = iVal

}

else

{

if (iVal <pNow->iData)

{

pNow->pLeft = Add(a, pNow->pLeft, iVal)

}

else if (iVal == pNow->iData)

{

++pNow->iCount

}

else

{

pNow->pRight = Add(a, pNow->pRight, iVal)

}

}

}

return pNow

}

Node *Find(Node *a, int iVal)

{

if (a == NULL)

{

return NULL

}

else

{

if (iVal <a->iData)

{

return Find(a->pLeft, iVal)

}

else if (iVal == a->iData)

{

return a

}

else

{

return Find(a->pRight, iVal)

}

}

}

int main(void)

{

int m, n, i, q, temp

Node *a = NULL

Node *p = NULL

FILE *fp

if ((fp = fopen("data.txt", "r")) == NULL)

{

printf("File not found!\n")

return -1

}

fscanf(fp, "%d %d", &m, &n)

do

{

iGlobal = 0

if ((a = (Node *)malloc(m * n * sizeof(Node))) == NULL)

{

return -1

}

for (i=0i<m*n++i)

{

fscanf(fp, "%d", &temp)

Add(a, a, temp)

}

fscanf(fp, "%d", &q)

for (i=0i<q++i)

{

fscanf(fp, "%d", &temp)

p = Find(a, temp)

if (p == NULL)

{

putchar('0')

}

else

{

printf("%d", p->iCount)

}

if (i != q-1)

{

putchar(' ')

}

else

{

putchar('\n')

}

}

if (a != NULL)

{

free(a)

a = NULL

}

fscanf(fp, "%d %d", &m, &n)

}while (m != 0 &&n != 0)

return 0

}

根据我的理解文件中的数据应该是这样的:

3 4

1 1 1 4

2 2 2 4

3 3 3 4

4

1

2

3

4

0 0

每一个整数或负数表示每种病毒变种,这个解答的思路是建立二叉排序树,存放数据的文件名为data.txt,你可以自己在源代码中修改。如果理解错了,那就给出测试用例,我再修改

第一种方法:―――――――――病毒代码由欧洲计算机防病毒协会提供

把下面这段代码复制到记事本里,保存为文本文件,然后静观杀毒软件之变。若有反应,那您就可以初步放心了。。。注意,本病毒代码绝对不会伤害到机器.请放心!!!

――――――――我是分割线,不要复制我,复制我下面的代码――――――――――――――

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

――――――――我也是分割线,不要复制我,复制我上面的代码――――――――――――――

这段代码是欧洲计算机防病毒协会开发的一种病毒代码,其中的特征码已经包含在各种杀毒软件的病毒代码库里,所以可以用做测试病毒扫描引擎。

一般保存后杀毒软件就会检测出来,已经测试过并能检测出的杀毒软件有McAfee8.oi,NOD32,瑞星2006,Norton

AntiVirus2005;江民2005未能自动检测出来,只能通过手动检测查出。大家不妨自己测试一下。

第2种方法

http://www.epdd.com/download/show.asp?id=37

专用病毒测试包

测试杀毒软件的杀毒能力。

第一种:直接杀压缩包,如果杀毒数低于96个,请换你现有的杀毒软件吧!

第二种:直接杀压缩包,如果杀毒数低于3600个,请换你现有的杀毒软件吧!

注意:下载该压缩包之后,不要解压,直接用安全软件检测就可以测试你的杀毒软件的能力,而且病毒不会伤害你电脑。但是禁止解压缩这个文件夹!不看清楚说明而造成电脑受病毒侵害的,电大网不负任何责任!测试完杀毒软件之后建议马上删除掉这个病毒压缩包!

http://www.365mf.com/soft/6293.htm

软件介绍:A-Z开头病毒样本打包下载,压缩文件内约7159个文件,约3573个病毒!看看各种杀毒软件能查出几个。验证一下查杀病毒的真正能力吧。仅供研究之用!

压缩包里面全部是病毒程序,千万不要解压运行。

用你的杀毒软件查这个压缩包,如果查出的病毒数少于3542个的话,你还是换换杀毒软件吧!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11678425.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存