acm病毒扫描器 1文件名以“.exe”结尾。 2在文件名列表中同时还存在去掉“.exe”后同名的文件。

我提交平台显示答案错误,求大佬帮忙看看。
题目描述
なに?!新买的 U盘这么快就中病毒了!
如下图所示,目录下多出很多同名的可执行文件:比如 1.gif 与 1.gif.exe 对应,main.c 于 main.c.exe 对应。它们都是病毒。但并不是所有可执行文件(扩展名为 .exe 的文件)都是病毒,比如图中的 problem.exe,并没不存在一个文件名字叫 problem,所以它不是病毒。

我会给你一些文件名列表,你能开发一款“病毒扫描器”帮我识别出哪些是病毒文件吗?识别方法是:
文件名以“.exe”结尾。
在文件名列表中同时还存在去掉“.exe”后同名的文件。

输入
输入数据有多组。
每组输入的第一行是一个整数 n(0 < n <= 1000),表示接下来会有 n 个文件名。
接下来的 n 行为文件名,每个文件名占一行。
文件名最多 16 个字符,并且中间不包含空格。
如果 n 等于 0,则程序结束。

输出
以字典顺序输出每一组数据中的病毒文件名。
每个文件名输出一行。

样例输入
2
a.txt
a.txt.exe
2
a
a.txt
10
a.txt
b.txt
d.txt.exe
c.txt
d.txt
a.txt.exe
e.txt
f.txt
e.txt.exe
g.txt
0
样例输出
a.txt.exe
a.txt.exe
d.txt.exe
e.txt.exe

#include<stdio.h>
#include<string.h>
int main()
{
    char str[1000][30], a[1000][30], num[1000];
    int i, j, k = 0, n;
    while (scanf("%d", &n) != EOF&&n != 0)
    {
        for (i = 0; i < n; i++)
        {
            scanf("%s", &str[i]);
        }
        for (i = 0; i < n; i++)
        {
            if (strstr(str[i], ".exe") == NULL)
            {
                strcat(str[i], ".exe");
            }

        }
        for (i = 0; i < n; i++)
        {
            for (j = i + 1; j < n; j++)
            {
                if (strcmp(str[i], str[j]) == 0)
                {
                    strcpy(a[k], str[i]);
                    k++; break;
                }
            }
        }
        for (i = 0; i < k; i++)
        {
            for (j = i + 1; j < k; j++)
            {
                if (strcmp(a[i], a[j])>0)
                {
                    strcpy(num, a[i]);
                    strcpy(a[i], a[j]);
                    strcpy(a[j], num);
                }
            }
        }
        for (i = 0; i < k; i++)
        {
            printf("%s", a[i]);
            if (a[i] != NULL)
                printf("\n");
            strcpy(a[i],"NULL");

        }
        k = 0;
    }
    return 0;
}
0

查看全部1条回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
U盘中毒后文件夹全部被变成系统隐藏文件,并生成同名文件夹带exe后缀
首先,我的系统 文件夹选项 设置的是隐藏受保护的系统文件,然后显示隐藏文件和显示已知的文件后缀 U盘在打印店带回来一插电脑,小红伞就说有病毒..然后我打开U盘,发现了文件夹后面都带.exe后缀,于是以为病毒只是添加了后缀,但是我想重命名却不可以,当然我不会傻到去点进去运行...对了,另外我的U盘是默认关闭自动运行的 怎么办呢?我上网查了一下发现很多人中过了...于是我按照网上资
Linux下ls怎么屏蔽波浪线~作为文件名结尾的文件
使用 -B 参数既可。 eg:ls -B
导出文件,如果文件名重复则在后面加上(数字)--> xxxx(2).xxx
一般在windows中如果复制同一个文件在同一个路径下,那么文件名后面会出现一个“-副本”的格式的文件名,现在要求成为“(2)”格式的文件名,特别是在单据导出的时候,代码如下: /** * 如果某个路径下已经存在了与要保存的文件名重复了,则在新的文件后面加(1)。。。。 * @param paths * @param filename * @param n
如何手工删除exe文件夹病毒
学校实验室的电脑全部感染了exe文件夹病毒,给同学们带来了很大的麻烦(写完的东西不能拷贝回自己的电脑) 病毒症状:将所有文件夹隐藏,建立同名exe文件,且大小一致,能够自动运行 如何检测该病毒: 开始菜单-->运行  输入cmd打开命令提示符,输入d:(或者感染了的盘符) 输入dir /a回车,如果文件列表中含有 Lotto.exe和autorun.inf,则说明感染了此种
[Object C]_[初级]_[创建文件路径时,已存在同名目录和文件名的问题的解决方案]
场景:导出数据到本地,以文件夹格式和文件名格式导出,数据中存在同名问题,为了防止不覆盖,要创建一个新的文件夹或者文件名用以区分同名的不同数据。 下面编写一个小例子进行说明: DirAndFile.h #import @interface DirAndFile : NSObject +(NSString*) getDirPathNewName:(NSString*)path; +(NSS
U盘文件夹病毒,.exe病毒删除方法
U盘里的文件夹不见了?新型U盘病毒在捣鬼! 其实很简单~不要点那种exe文件,病毒就不会传染啦,删了就好啦~然后最好把文件夹显示为显示所有文件包括系统隐藏属性的。就好啦~具体方法如下:看一下U盘的容量和使用量,属性一看,真不对劲的。那三个文件加起来也才500KB不到,但是属性里使用量到了800MB,U盘为2GB的。接下来再看一下显示所有文件,我还想会出来几个文件的,但是
VS2010 修改输出的exe名字和pdb文件名字的方法
-------------------------------------- 创建人:Ruo_Xiao 邮箱:xclsoftware@163.com -------------------------------------- 1、修改pdb的exe的名字 2、修改输出的exe的名字     (SAW:Game Over!)...
Thinkphp5之上传文件命名重复
问题: 在使用thinkphp5的File类默认date的命名规则,上传多张图片导致命名重复覆盖上传文件的问题。下面是thinkphp5的原代码: case 'date': $savename = date('Ymd') . DS . md5(microtime(true)); 错误结果 /tmp/phpDZ9Dol 20171009/064964d9595bb3d6895f7388
用PyInstaller将.py文件打包成.exe文件
上一篇文章中已经把PyInstaller安装好了,下面就来看看怎么用它把写的python程序打包成直接执行的.exe文件。 先写一个简单的判断质数的程序,保存为isprime.py。先用命令提示符运行这个程序。把这个文件复制到PyInstaller文件夹目录下。在命令提示符中打开这个文件夹目录,cd:PyInstaller文件夹目录 python isprime.py 执行python代码,结果如
批处理打开软件并处理有空格的文件名
批处理 处理有空格的文件名
关于vs2008修改执行程序文件名
<br />      以前的编程都是在vc6.0环境下,很少使用vs2008环境,所以很多时候,存在了很多的不顺手。想必这也是很多人都会遇到的问题吧。我把这个小问题记录下来,主要是怕自己忘记。简单的问题,才是最容易引起忘记的。<br /> <br />     修改方法:<br /> <br />     项目   ----   属性   ----   链接器   ----   常规  ----   输出文件  (Release/ICCxxRelay.exe)<br /> <br />     根据以上的
在程序中自动获取exe执行文件名字
全局变量: std::string ServerName; // 服务名称(程序本身名字) int main()内: char filepath[1024] = ""; //获取exe执行文件名字(去掉后缀".exe") GetModuleFileName(NULL, filepath, MAX_PATH); *strrchr(filepath,'.') = '\0
在Qt中,指定生成的可执行文件的名称
在.pro文件中加入TARGET=hello 其中hello就是你所指定的名称,此名称是你任意想要的名称(如果不指定,默认情况下,生成的可执行文件的名称与你的工程名相同)
exe打开方式被木马或病毒修改,无法打开任何可执行文件的解决办法
对于exe打开方式被木马或病毒修改,无法打开任何可执行文件的解决办法。 方案一:     先将regedit.exe改名为regedit.com或regedit.scr。 运行regedit.com,找到HKEY_CLASSES_ROOT\\exefile\\shell\\open\\command键值,将默认值改为"%1" %* 数值如下图所示:     重启,再将regedit
Linux查找多个类似但是不同名的文件并且重命名
这个题目据说是百度一面的面试题,Linux题:查找以core.1,core.2....形式命名的文件,然后将这些文件名改成bak。core.1,bak.core.2,......
用JAVA扫描指定文件夹下面所有以.txt结尾的文件,并将其绝对路径输出 .
package go.derek; import java.io.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Findfile {  public void find(String path,String reg){   Pattern pat=Pattern.compi
VS2008中调试exe程序时要求指定可执行文件名称的解决方法
1 问题提出 在VS2008中调试exe程序时,弹出了要求指定可执行文件名的对话框,如图1所示。 图1 调试会话的可执行文件 2 问题分析 一般来说,调试exe程序不需要指定可执行文件,只有在调试dll程序时才会要求指定可执行文件。可能的原因是在调试时指定了错误的调试器。 3 问题解决 在VS2008的菜单栏中选择“项目-&amp;gt;XXX属性”,之后在弹出的属性页对话框的左侧选择“配...
文件夹.exe病毒查杀修复工具
文件夹.exe病毒查杀修复工具
VS2010之更改工程及生成的执行文件名
经常遇到这样的情况,本来是测试程序Test,创建工程时随便起了个名,如Test,但后来测试程序可以使用,想发布出去,然编译出的可执行程序文件名是工程名,并不能真正表达出其功能,虽然可以通过修改文件名,但如果是带界面的程序,默认的窗口标题就是工程名,仍是未改变,所以应该修改工程名。 1> 右键工程名,在弹出的菜单中选择"重命名",修改工程名,如InsertDataToDB
手动删除文件夹exe病毒并恢复原来文件夹
转自手动删除文件夹exe病毒并恢复原来文件夹
使用boost库获取文件名列表
#include &amp;lt;string&amp;gt; #include &amp;lt;vector&amp;gt; #include &amp;lt;iterator&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;fstream&amp;gt; #include &amp;lt;boost/algorithm/string.hpp&amp;gt; #include &amp;lt;boost/algori...
exe专杀,文件夹被隐藏,生成同名exe文件。
exe专杀,文件夹被隐藏,生成同名exe文件。 最好配合杀毒软甲使用,先杀毒,再使用专杀,使隐藏文件显示出来。
文件夹同名exe病毒专杀.rar
专杀文件同名病毒木马,我想,这应该是个好工具
扫描指定文件夹下面所有以.txt结尾的文件,并将其绝对路径输出
主要思路:                  首先,找到指定路径下的所有文件;                  然后,判断这些文件是否以.txt作为后缀,如果是,则为要找的文件,此时输出其绝对路径,否则,继续查找,直到遍历完所有文件为止。 package InterView; import java.io.BufferedReader; import java.io.File; imp...
Windows 文件夹修改为exe的原理和解决办法
有关文件夹后缀改为exe的病毒 该病毒之前出现过,不过没多长时间便消失了,最新的这个应该是变种,下面解决一下该病毒在移动存储设备中的问题: 该病毒并不具备能够将文件夹改为文件的能力,只是将原有文件夹全部加以"系统"和"隐藏"属性隐藏起来了,并且将系统的显隐功能无效化,而把病毒文件名全部设成文件夹名,图标也使用文件夹图标,此时就只能看到带有文件夹图标的病毒文件了。 病毒列表: x:\msdo
shell提取文件后缀名,并判断其是否为特定字符串
# for ".css" ".js" file if [ "${file##*.}"x = "css"x ]||[ "${file##*.}"x = "js"x ];then     do something fi
exe病毒文件恢复
很抱歉,昨晚发的比较随意,今天就为大家带来图片教程最近校园被一款恶意病毒侵扰,会在文件夹下面创建一个子文件夹的快捷方式,如果你的电脑是这种情况,说明已经中毒。下面教大家怎样清除它。第一部,打开我的电脑,点击查看。第二部,找到选项,打开{本人用的是win10,在win7中选项直接在查看下面}第三部,点击查看按钮。第四部,第五部,拉动下滑按钮,找到隐藏文件夹选项,点击显示隐藏文件夹选项,隐藏受保护操作...
随机8位数字和字母组合的恶性U盘病毒的分析
由于病毒屏蔽 带有“病毒”字样的窗口 所以改一下帖子的名字最近发现很多人出现了打不开杀毒软件 反病毒工具 甚至带有病毒字样的窗口 今天就接到了这样的一个样本 先前我发的那个一个坏事做绝的U盘病毒应该就是这个 但今天收到的是新变种 这是一个可以说结合了几乎所有病毒的特征的病毒 除了感染文件之外 可以说是比熊猫有过之而无不及!病毒特征:1.破坏安全模式2.结束常见杀毒软件以及反病毒工具进程3.监控窗口
C#保存文件时重名自动生成新文件的方法
原文链接:http://www.oschina.net/code/snippet_4873_1460 将一个文档保存为 a.txt 时,发现此文件已经存在,则自动保存为 a(1).txt
MFC生成。exe文件名更改方法
1.使用VCRn.exe改名。 2.对于MFC新建的工程可以在BOOL CXXXApp::InitInstance() {//在该函数的最后添加一句话就可以!   m_pMainWnd->UpdateWindow();     ::SetWindowText(AfxGetMainWnd()->GetSafeHwnd(),"要设置的应用工程名字"); return TRUE;
EXE病毒解决方法
1,该病毒在系统下无法查杀,杀完依旧在。 2,开机按F8,进入系统“安全模式”,利用资源管理器,打开USBKiller绿色版进行查杀,可以根除该病毒。 3,打开文件夹之后,点击菜单栏中的工具——文件夹选项——查看——勾选显示所有文件和文件夹,去掉隐藏已知文件类型的扩展名...
文件夹.EXE病毒清理
1.如果电脑里没有任何杀毒软件,容易中毒,比如一不小心就中了一个文件夹EXE的病毒,不要慌,这是个小问题,不用格式化U盘。 2.下载一个360杀毒纯净版 下载地址 3.安装好杀毒之后,直接点击快速查杀就可以了 4.就是上图中的第一个选项,修复就好了。 5.一些什么专杀工具杀不了,还是得要杀毒软件。
C语言获取当前编译执行文件(XXX.exe)文件名和目录路径
C语言获取执行文件(XXX.exe)文件名和目录路径vc2010编译通过#include&amp;lt;stdio.h&amp;gt; #include&amp;lt;string.h&amp;gt; #include&amp;lt;windows.h&amp;gt; #include&amp;lt;stdlib.h&amp;gt; int main(int argc,char *argv[]){     printf(&quot;%s\n&quot;,argv[0]); /...
U盘专杀(文件夹EXE和快捷方式病毒,恢复隐藏文件)
软件简介: 自己完成的一款可以针对在U盘感染了文件夹EXE和 快捷方式( lnk)的病毒的专杀功能,并且能够将被被病毒隐藏的真实文件夹恢复出来,为纯绿色版,软件界面如图下图,使用VC6编写的,界面不是非常美观,使用注意事项: 在扫描完文件以后,在列表栏里查看是否有非病毒文件的文件(有时候可能会出现误删情况,虽然情况发生很罕见,还是注意一点)
Visual Studio修改可执行程序的文件名和路径
 通常我们使用Visual Studio创建的项目工程,生成的可执行程序文件名与工程的名称一致,例如工程名为Test,则生成的可执行文件文件名通常为Test.exe。但有时候我们希望工程生成的可执行文件的名称与工程名称不一样,或者希望生成的可执行文件保存在其他路径下,则可以通过以下步骤来实现。 1. 在Visual Studio 2008下 选择菜单栏“项目”-“ 属性
u盘中毒自动生成exe的 处理办法
U盘中病毒啦,格式化后使用文件夹自动变成.exe(应用程序)。处理方法:1,、下载360杀毒软件,可以检测到病毒并进行查杀,缺点:会误删自己exe文件(需手动勾除),清理后,u盘病毒仍然存在(瞎折腾)。2、下载金山毒霸,可以检测到病毒,查杀有效(简单操作,关键是u盘不需要格式化,文件都还在),缺点很多非标软件会被强制提示 删除。3、手动清除方法(百科推荐,未尝试)    1)结束病毒进程。打开超级...
Unicode文件名中的陷阱
下面这个图片文件看上去好像很正常: 但双击后,打开并不是一张图片,而是一个可执行程序,这是如何办到的呢。 很简单,流程如下: 1. 在自己的app工程中,使用和jpg图片一样的图标。build可执行的exe文件,比如:ABCjpg.exe. 2. 拷贝exe文
对于任意一个文件进行压缩,压缩后的文件名为原文件名称去掉后缀加上.hz,例如,原来的未压缩文件的名字为a.txt,压缩后为a.hz
压缩过程可能需要几分钟 2. 使用霍夫曼编码原理(参照以前的作业), 对于任意一个文件进行压缩,压缩后的文件名为原文件名称去掉后缀加上.hz,例如,原来的未压缩文件的名字为a.txt,压缩后为a.hz,压缩后的文件信息使用TLV结构(TYPE-LENGTH-VALUE),文件信息包括霍夫曼编码码表,文件名称,文件长度,文件访问时间等,当然还包括压缩的内容。 要求:(a) 提供压缩与解压缩功能,提供查看压缩文件信息功能。 (b) 需要使用的类有File, 以及霍夫曼压缩作业提供的程序。 (c) 压缩内容不再是文本字符数据,而是任意二进制文件,请压缩附件中的“全球变暖的公益广告视频”(qqbn_gygg.flv)。 注意:(a) 先假设压缩的文件的长度都不大,不考虑效率问题,可以使用缓存。 (b) 以前的霍夫曼压缩文件的程序可以参考,可以修改。
java代码实现输出指定以.java结尾的文件的绝对路径
package 输出指定文件绝对路径; import java.io.File; /* * 需求:请大家把"E:\\JAVA语言"目录下所有的java结尾的文件的绝对路径给输出在控制台。 * * 分析: * A:封装目录 * B:获取该目录下所有的文件或者文件夹的File数组 * C:遍历该File数组,得到每一个File对象 * D:判断该File对象是否是文件
复制文件时,文件夹中有同名的文件时,自动给文件重命名
学java基础的IO流,想起windows的复制文件的操作,当文件夹中有同名的文件时,可以自动给文件重命名。想起学过的IO流的知识,也想自己实现一下,码了下面的代码: import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.
文章热词 机器学习教程 设计制作学习 Objective-C培训 交互设计视频教程 颜色模型
相关热词 ios获取idfa server的安全控制模型是什么 sql android title搜索 数据库中课程名英文 数据库中课程名英文