
作者:正在备战蓝桥杯的东岸 适合人群:刚接触算法竞赛或在线编程(OJ)的新手(大一/大二计算机相关专业) 内容特点: 易错点剖析 + 代码对比 + 实战建议 个人精选专栏:《蓝桥杯备战参考指南》数据结构杂谈《C语言入门指南》

你是否也曾信心满满地提交了一段自认为“天衣无缝”的C++代码,结果OJ无情地甩给你一行刺眼的红字:“Compile Error”、“Wrong Answer”或者“Time Limit Exceeded”?

别慌!这几乎是每一位算法初学者都会经历的“成长阵痛”。 本文将结合洛谷与牛客两大主流OJ平台,系统梳理刷题中最常见的五类错误类型,并通过真实案例+错误分析+正确写法对比,帮你快速识别问题根源、避开高频“雷区”。
📌 核心目标:不仅告诉你“错在哪”,更教你“怎么想”、“如何防”。

刷新⼀下就能看到编译错误的信息:


代码存在语法错误,编译器无法生成可执行文件。
cout 却没写 #include <iostream>using namespace std;,又直接写 cin、cout#include <bits/stdc++.h>)💡 易错点提示:很多同学在本地用 VS Code 或 Dev-C++ 调试时开启“宽松模式”,但 OJ 编译器(通常是 GCC)更严格。务必在提交前检查标准语法!


程序能运行,但输出结果与标准答案不一致,所有测试点均失败。
这通常说明你的算法在根本思路上存在缺陷。


代码在部分测试数据下正确,但在边界/特殊输入下失败
n=0,1,2、最大值、最小值、负数(若允许)、重复元素等;
第一次输入:
#include <iostream>
#include <cmath>
using namespace std;
bool isprime(int n) {
for (int j = 2; j <= sqrt(n); j++) {
if (n % j == 0) return false;
}
return true;
}
int main() {
int n; cin >> n;
for (int i = 3; i <= n; i++) {
if (isprime(i) && isprime(i + 2)) {
cout << i << " " << i + 2 << endl;
}
}
return 0;
}
i = n 时,i + 2 = n + 2 > n,但题目要求两个素数都 ≤ n;"empty"(注意是字符串,不是空行);isprime(1) 返回 true(1不是素数!),isprime(2) 未被正确处理(因循环从2开始,sqrt(2)≈1.4,循环不执行,返回true——这点碰巧对,但逻辑不严谨)。改进:
#include <iostream>
#include <cmath>
using namespace std;
bool isprime(int n) {
if (n < 2) return false; // 关键:1不是素数!
for (int j = 2; j <= sqrt(n); j++) {
if (n % j == 0) return false;
}
return true;
}
int main() {
int n; cin >> n;
bool found = false;
// 注意:i + 2 <= n,确保两个数都不超过n
for (int i = 3; i + 2 <= n; i++) {
if (isprime(i) && isprime(i + 2)) {
cout << i << " " << i + 2 << endl;
found = true;
}
}
if (!found) {
cout << "empty" << endl;
}
return 0;
}
📌 易错点提示:
n=1,2,3)务必手动验证;例如·:访问非法内存,如数组越界、空指针解引用;

a / b 中 b == 0


int arr[100];
for (int i = 0; i <= 100; i++) { // i=100 时越界!
cin >> arr[i];
}int a[1010]);vector 并配合 .size() 检查;

while (x > 0) { x += 1; })。
当遇到错误时,按以下流程快速定位:

💬 经验之谈:我在初学时曾因 isprime(1) 返回 true 而WA了3次,也因 i <= n 而不是 i + 2 <= n 被卡住。每一个WA背后,都藏着一个你忽略的细节。

j * j <= n 比 j <= sqrt(n) 更安全?(提示:浮点精度)答案放在评论区了
欢迎在评论区分享你踩过的OJ大坑!点赞+关注,不错过下期硬核内容! 💪
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=34m59s418000k