| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 473 人关注过本帖
标题:onlinejudge确实让人纠结,明明本地运行无错,传上去就是WA,为什么?
取消只看楼主 加入收藏
devilboy
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-8-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
onlinejudge确实让人纠结,明明本地运行无错,传上去就是WA,为什么?
大家好,实不相瞒,本人菜鸟,目前在做课设,今天做了一个求交集的题,本地调试了好多遍,认为没问题了,就上传到onlinejudge系统,结果提示wrong answer,麻烦各位高手帮忙看看,谢啦!以下是代码:
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    int n,i,j,k,a=0,b=0,c=0;
    int *p,*q,*m;
    while(scanf("%d",&n)&&n!=0)
    {
        p=(int *)malloc(n*sizeof(int));
        q=(int *)malloc(n*sizeof(int));
        m=(int *)malloc(n*sizeof(int));
        for(i=0;i<n;i++)
            scanf("%d",&p[i]);
        for(i=0;i<n;i++)
            scanf("%d",&q[i]);
        j=p[0];
        k=q[0];
        while(1)
        {
            if(j==k)
            {
                m[c]=j;
                c++;
                if(++a>n)
                    break;
                if(++b>n)
                    break;
                j=p[a];
                k=q[b];
            }
            else
                if(j>k)
                {
                    if(++b>n)
                        break;
                    k=q[b];
                }
                else
                {
                    if(++a>n)
                        break;
                    j=p[a];
                }
        };
    }
        printf("%d",c);
        for(i=0;i<c;i++)
            printf(" %d",m[i]);
        free(p);
        free(q);
        free(m);
    return 0;
}

搜索更多相关主题的帖子: color 
2011-08-31 15:26
devilboy
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-8-31
收藏
得分:0 
回复 2楼 czsbc
不好意思,忘了说明了,这是一个求交集的小程序,while(scanf("%d",&n)&&n!=0)这里是设置的一个判断,遇0的时候停止输入;scanf("%d",&p[i])这是用来录入数据的,两数组的数分别存入p[]和q[];下面的if语句是用来求交集的,谢谢啦!
2011-08-31 21:14
devilboy
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-8-31
收藏
得分:0 
回复 4楼 dreamofgod
...这是我们自己学校不知从哪里弄来的judge系统,Unix平台,GCC编译环境
2011-08-31 21:18
devilboy
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-8-31
收藏
得分:0 
...那个,谢谢大家了,这个问题已经解决了,就是把while语句的花括号改一下位置,由 printf("%d",c);前改到了free(m);后,然后就解决了。
2011-08-31 21:21
快速回复:onlinejudge确实让人纠结,明明本地运行无错,传上去就是WA,为什么?
数据加载中...
 
   



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

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