You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++计数代码输出超大值问题求助(USACO Bronze Jan #2)

解决C++统计数对时出现异常超大值的问题

嘿,你遇到的这个超大异常值问题根本不是溢出——是变量初始化的坑!

先看你代码里的变量声明行:

int a1, a2, b1, b2, c1, c2 = 0;

这里你只把c2初始化为0了,剩下的a1、a2、b1、b2、c1都是未初始化的局部变量,它们会保留内存里的随机垃圾值。当你统计数对的时候,这些变量在没有匹配到对应数对时,不会被赋值,输出时就会把那些随机垃圾值打出来,也就是你看到的超大奇怪数字。

修复方法

把所有统计变量都明确初始化为0,修改后的声明应该是:

int a1=0, a2=0, b1=0, b2=0, c1=0, c2=0;

验证一下

你的输入数据是5组对:(1,2)、(2,2)、(1,3)、(1,1)、(3,2),其中符合你统计规则的只有(1,2)、(1,3)、(3,2)各1次,剩下的都不在你的6种数对里。修复后程序应该输出:1 1 0 0 0 1,完全正常。

另外提个小建议:你可以用else if代替多个if,这样能稍微提高一点效率,但不是必须的——主要问题还是初始化!

内容的提问来源于stack exchange,提问作者scubnoob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:27:49