| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 763 人关注过本帖
标题:关于上一次的病毒扫描问题,再次开贴请教.
取消只看楼主 加入收藏
tianqiao
Rank: 2
等 级:论坛游民
帖 子:80
专家分:55
注 册:2011-9-21
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:5 
关于上一次的病毒扫描问题,再次开贴请教.
上一次发了一个病毒扫描问题.这一次把我的和同学程序一并发上来,求教有什么不同???
搜索更多相关主题的帖子: 病毒 
2011-12-25 14:39
tianqiao
Rank: 2
等 级:论坛游民
帖 子:80
专家分:55
注 册:2011-9-21
收藏
得分:0 
这是同学的:
程序代码:
#include<stdio.h>
#include<string.h>
int main()
{
    int n,m,i,j,q,k;
    char a[1000][100],b[100],c[1000][100];
    char d[100];
    for(;;)
    {
        scanf("%d\n",&n);
        if(n==0)break;
        q=0;
        for(i=0;i<n;i++)
            gets(a[i]);
        for(i=0;i<n;i++)
        {
            m=strlen(a[i]);
            if(m>4&&a[i][m-1]=='e'&&a[i][m-2]=='x'&&a[i][m-3]=='e'&&a[i][m-4]=='.')
            {
                for(j=0;j<m-4;j++)
                    b[j]=a[i][j];
                b[j]='\0';
                for(j=0;j<n;j++)
                {
                    if(strcmp(b,a[j])==0)
                    {
                        strcpy(c[q],a[i]);
                        q++;
                    }
                }
            }
            else continue;
        }
        if(q==1)
            puts(c[0]);
        else
        {
            for(i=0;i<q;i++)
            {
                strcpy(b,"zzzzzzzzzzzzzzzzzzzzzzzzzzz");
                for(j=i;j<q;j++)
                {
                    if(strcmp(c[j],b)<0)
                    {
                        strcpy(b,c[j]);
                        k=j;
                    }
                }
                strcpy(d,c[i]);
                strcpy(c[i],b);
                strcpy(c[k],d);
            }
            for(i=0;i<q;i++)
                puts(c[i]);
        }
    }
    return 0;
}

2011-12-25 14:40
tianqiao
Rank: 2
等 级:论坛游民
帖 子:80
专家分:55
注 册:2011-9-21
收藏
得分:0 
这是我的:
程序代码:
#include<stdio.h>
#include<string.h>
int main()
{
    int sum,num,i,j,flag=0,mark=0;
    char ss[1001][20],s1[1001][20],s2[1001][20],s3[1001][20],tmp[20];
    while(scanf("%d",&sum)&&sum){
        if(sum==0)break;
        scanf("\n");
        for(i=0;i<sum;i++){
            gets(ss[i]);
        }                                   //输入
        for(i=0;i<sum;i++)
            for(j=0;;j++){
                if(ss[i][j]=='\0'||ss[i][j]=='\n')break;
                if(ss[i][j]=='.'&&ss[i][j+1]=='e'&&ss[i][j+4]=='\0')
                {
                    strcpy(s1[flag],ss[i]);
                    flag++;
                    break;
                }
            }                                    //末尾是.exe的保存                                      

        for(i=0;i<flag;i++)
            for(j=0;;j++){
                s2[i][j]=s1[i][j];
                if(s1[i][j+1]=='.'&&s1[i][j+2]=='e'&&s1[i][j+5]=='\0'){
                s2[i][j+1]='\0';
                break;
                }
            }                                     //把.exe割掉                                    

        for(i=0;i<flag;i++)
            for(j=0;j<sum;j++){
                if(strcmp(s2[i],ss[j])==0)
                {   strcpy(s3[mark],s1[i]);
                    mark+=1;
                    break;
                }
            }                                       //判断是否有和去除.exe相同的文件  有的话就填上.exe                       

                for(i=0;i<mark-1;i++)
                    for(j=0;j<mark-1-i;j++)
                    {
                        if(strcmp(s3[j],s3[j+1])>0)
                        {
                            strcpy(tmp,s3[j]);
                            strcpy(s3[j],s3[j+1]);
                            strcpy(s3[j+1],tmp);
                        }
                    }                                      //排序                     

                    for(i=0;i<mark;i++){
                        puts(s3[i]);
                    }
                        flag=0;mark=0;
    }
    return 0;
}
运行的时候结果一样,可是前一个AC后一个WA纠结......
2011-12-25 14:41
tianqiao
Rank: 2
等 级:论坛游民
帖 子:80
专家分:55
注 册:2011-9-21
收藏
得分:0 
回复 5楼 beyondyf
楼上的代码我看过了,虽然二重指针有点难懂,可是还是看懂了.现在我看不出我的代码有什么错误.求指教.
2011-12-25 19:08
tianqiao
Rank: 2
等 级:论坛游民
帖 子:80
专家分:55
注 册:2011-9-21
收藏
得分:0 
我想了一下,前面AC的代码和楼上AC代码的共性是排序不同.......我的是冒泡排序,楼上的是快速排序,我同学的排序是....(我也不知名字),可这三种排序并没有区别..纠结之......
2011-12-25 19:38
tianqiao
Rank: 2
等 级:论坛游民
帖 子:80
专家分:55
注 册:2011-9-21
收藏
得分:0 
昨天改了一下居然还是WA
2011-12-26 09:06
快速回复:关于上一次的病毒扫描问题,再次开贴请教.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030288 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved