| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1279 人关注过本帖
标题:HDOJ 1003题 代码写出,本机测式无问题,但WA,望指导
只看楼主 加入收藏
zmbilx
Rank: 2
等 级:论坛游民
帖 子:22
专家分:80
注 册:2015-7-18
结帖率:100%
收藏
 问题点数:0 回复次数:3 
HDOJ 1003题 代码写出,本机测式无问题,但WA,望指导
我在我的电脑上运行无错,但是一当我上OJ的时候,就出现WA,我也是醉了。找了半天没找不到错误。
程序代码:
#include <stdio.h>

int main()
{
    int n1,n2, start, end, sum;
    int i, j, temp, tempsum, start_t;
    j = 0;
    tempsum = -1005;
    sum = -1005;
    
    scanf("%d", &n1);
    while (++j)
    {
        if(j > n1)
            break;
        scanf("%d", &n2);    
        start_t = 1;
        end = 1;
        for(i=1; i<=n2; i++)
        {
            scanf("%d", &temp);
            tempsum += temp;
            
            if(tempsum > sum)
            {
                sum = tempsum;
                start = start_t;
                end = i;
            }
            if(tempsum < 0)
            {
                tempsum = 0;
                start_t = i+1;
            }
            
        }
        printf("Case %d:\n", j);
        printf("%d %d %d\n", sum, start, end);
        
        if(j < n1)
            printf("\n");
        tempsum = sum = -1005;
    }
    
    return 0;
}


[此贴子已经被作者于2016-2-8 18:40编辑过]

搜索更多相关主题的帖子: start 
2016-02-08 12:58
zmbilx
Rank: 2
等 级:论坛游民
帖 子:22
专家分:80
注 册:2015-7-18
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

每天OJ一道题,快快乐乐过大年
2016-02-08 12:59
zmbilx
Rank: 2
等 级:论坛游民
帖 子:22
专家分:80
注 册:2015-7-18
收藏
得分:0 
成功AC。
======================================
BUG:
如果连续只输入两个负数,会出现BUG。
======================================
错误点:
原代码:
tempsum = -1005;
sum = -1005;
tempsum = sum = -1005;

======================================
改正之后代码:
tempsum = 0;
sum = -1005
循环最后变为:
sum = -1005;
tempsum = 0;

======================================
原因:
由于开始tempsum的是值为负数,temp同为负数时,且tempsum += temp之后,tempsum 会比sum小,使if(tempsum > sum)为假,与原作者想法不同。然而 if(tempsum < 0)为真,会使tempsum = 0,从而出现BUG。

每天OJ一道题,快快乐乐过大年
2016-02-09 10:04
zmbilx
Rank: 2
等 级:论坛游民
帖 子:22
专家分:80
注 册:2015-7-18
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

每天OJ一道题,快快乐乐过大年
2016-02-09 10:05
快速回复:HDOJ 1003题 代码写出,本机测式无问题,但WA,望指导
数据加载中...
 
   



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

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