1.准备 

1.1.洛谷的使用

1.1.1.洛谷的编译错误

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

1.1.2.洛⾕WA(wronganswer)

这说明代码运⾏结果和预期不符,所有答案都是错误的,这⼀定代码写的有问题。

1.1.3.洛⾕部分⽤例通过

⼀个题⽬可能有多个测试⽤例,有部分测试⽤例通过,但是也有部分测试⽤例未通过,基本的原因是 代码考虑不周全。

1.1.4 程序运⾏时出现运⾏时问题

这种场景代码是程序编译没有语法问题,编译产⽣了可执⾏程序,程序运⾏时出现了问题,⽐如:段 错误、除数为0等。 

1.1.4.1 段错误提⽰

1.1.4.2 除数为0的提⽰

 

1.1.5 题⽬运⾏有时间限制超时了

可能得的原因:

  • 1. 代码中不⼩⼼,造成死循环了
  • 2. 代码中算法复杂度太⾼,太耗时 

1.2. ⽜客竞赛

1.2.1 编译错误

1.2.2 答案错误

这种情况说明,代码是没有语法问题的,但是程序运⾏的结果,是不符合题⽬预期的。

1.2.3 通过部分⽤例

1.2.4 运⾏超时

  • 可能性:代码中出现了死循环,代码的算法复杂度确实是过⾼,太耗时。
  • 解决办法:检查代码、优化程序 

1.3.让Dev-C++支持C++11

在DevC++的使⽤过程中,有时候使⽤较新的语法,可能编译不过,提⽰错误,如下所⽰:

#include <iostream>
#include <string>
using namespace std;

int main() {
    string s = "abc";
    cout << "s:" << s << endl;

    // 第一次尾删
    s.pop_back();
    cout << "s after first pop_back:" << s << endl;

    // 第二次尾删
    s.pop_back();
    cout << "s after second pop_back:" << s << endl;

    // 注意:如果再次调用 s.pop_back(),将会导致未定义行为,因为此时字符串已为空
    // 但为了演示可能的错误处理,我们可以检查字符串是否为空再决定是否删除
    if (!s.empty()) {
        s.pop_back();
        cout << "s after potential third pop_back (if not empty):" << s << endl;
    } else {
        cout << "Cannot pop_back from an empty string." << endl;
    }

    return 0;
}

 pop_back是C++11这个版本中新增的成员函数,默认编译就会报错,那怎么解决呢?

菜单中,点击:⼯具->编译选项,打开

出现这样⼀个窗⼝:

勾选【编译时加⼊⼀下命令】,然后在下⽅的编译框中加⼊:

这样子就设置好了,我们重新编译一下

 点击确定即可。 要想⽀持其他C++的标准也是⼀样的⽅法。

-std=c++14
-std=c++17
-std=c++20
...

1.4.Dev-C++分辨率低解决方法

因为Dev-C++很久不再更新,⽽且版本⽐较⽼,所现在显⽰器的⾼分辨率⽀持不好,所以看起来显⽰不 够清晰。 为了解决这个问题,可以这样做:

1. 找到DevC++的桌⾯图标,右击点击属性,如下图:

2. 在属性中,点击【兼容性】,在兼容性中,点击【更改⾼DPI设置】

3. 在这个⻚⾯,点击【系统(增强)】,然后点击【确定】 

然后点击【应⽤】、【确定】就可以了。  

2.C++必刷127道OJ

2.1.入门练习

B2002 Hello,World! - 洛谷 | 计算机科学教育新生态

1003-小飞机_牛客竞赛语法入门班顺序结构习题

B2003 输出第二个整数 - 洛谷 | 计算机科学教育新生态

B2005 字符三角形 - 洛谷 | 计算机科学教育新生态

2.2.数据类型

牛牛学说话之-整数

B2018 打印字符 - 洛谷 | 计算机科学教育新生态

倒序

信息学奥赛一本通(C++版)在线评测系统

2.3.变量常量

牛牛买电影票_牛客题霸_牛客网

B2007 A + B 问题 - 洛谷 | 计算机科学教育新生态

B2614 【深基1.习6】鸡兔共笼 - 洛谷 | 计算机科学教育新生态

2.4.算术操作符

B2008 计算 (a+b)×c 的值 - 洛谷 | 计算机科学教育新生态

B2010 带余除法 - 洛谷 | 计算机科学教育新生态

整数的个位

整数的十位

1031-时间转换_牛客竞赛语法入门班顺序结构习题

P1425 小鱼的游泳时间 - 洛谷 | 计算机科学教育新生态

2.5.赋值操作符

信息学奥赛一本通(C++版)在线评测系统

2.6.类型转换

1034-[NOIP2017]成绩_牛客竞赛语法入门班顺序结构习题

B2016 浮点数向零舍入 - 洛谷 | 计算机科学教育新生态

B2017 打印 ASCII 码 - 洛谷 | 计算机科学教育新生态

B2018 打印字符 - 洛谷 | 计算机科学教育新生态

2.7.printf和scanf(cout和cin)

浮点除法

B2012 甲流疫情死亡率 - 洛谷 | 计算机科学教育新生态

B2013 温度表达转化 - 洛谷 | 计算机科学教育新生态

B2015 计算并联电阻的阻值 - 洛谷 | 计算机科学教育新生态

B2014 与圆相关的计算 - 洛谷 | 计算机科学教育新生态

B2004 对齐输出 - 洛谷 | 计算机科学教育新生态

信息学奥赛一本通(C++版)在线评测系统

P5705 【深基2.例7】数字反转 - 洛谷 | 计算机科学教育新生态

P5708 【深基2.习2】三角形面积 - 洛谷 | 计算机科学教育新生态

2.8.条件判断与循环

2.8.1.if和else

B2035 判断数正负 - 洛谷 | 计算机科学教育新生态

D-整除判断_牛客竞赛语法入门班选择结构习题

B2039 整数大小比较 - 洛谷 | 计算机科学教育新生态

B2036 输出绝对值 - 洛谷 | 计算机科学教育新生态

B2037 奇偶数判断 - 洛谷 | 计算机科学教育新生态

2.8.2.关系操作符

 B2044 有一门课不及格的学生 - 洛谷 | 计算机科学教育新生态

B2032 等差数列末项计算 - 洛谷 | 计算机科学教育新生态

2.8.3.条件操作符

B2049 最大数输出 - 洛谷 | 计算机科学教育新生态

E-CSimplemathproblem_牛客竞赛语法入门班选择结构习题

P5709 【深基2.习6】Apples Prologue / 苹果和虫子 - 洛谷 | 计算机科学教育新生态

2.8.4.逻辑操作符 

P5711 【深基3.例3】闰年判断 - 洛谷 | 计算机科学教育新生态

B2045 晶晶赴约会 - 洛谷 | 计算机科学教育新生态

B2050 三角形判断 - 洛谷 | 计算机科学教育新生态

B2043 判断能否被 3,5,7 整除 - 洛谷 | 计算机科学教育新生态

P5710 【深基3.例2】数的性质 - 洛谷 | 计算机科学教育新生态

2.8.5.switch语句

O-四季_牛客竞赛语法入门班选择结构习题

B2052 简单计算器 - 洛谷 | 计算机科学教育新生态

2.8.6.while循环

1023-反向输出一个四位数_牛客竞赛语法入门班顺序结构习题

数位之和

小乐乐求和_牛客题霸_牛客网

B2078 含 k 个 3 的数 - 洛谷 | 计算机科学教育新生态

B2077 角谷猜想 - 洛谷 | 计算机科学教育新生态

B2080 计算多项式的值 - 洛谷 | 计算机科学教育新生态

2.8.7.for循环

B2054 求平均年龄 - 洛谷 | 计算机科学教育新生态

B2058 奥运奖牌计数 - 洛谷 | 计算机科学教育新生态

B2065 鸡尾酒疗法 - 洛谷 | 计算机科学教育新生态

B2066 救援 - 洛谷 | 计算机科学教育新生态

B2070 计算分数加减表达式的值 - 洛谷 | 计算机科学教育新生态

B2069 求分数序列和 - 洛谷 | 计算机科学教育新生态

2.8.8.do……while循环

B2076 球弹跳高度的计算 - 洛谷 | 计算机科学教育新生态

2.8.9.break和continue

B2084 质因数分解 - 洛谷 | 计算机科学教育新生态

2.8.10.嵌套循环

包含数字9的数_牛客题霸_牛客网

B2064 斐波那契数列 - 洛谷 | 计算机科学教育新生态

B2079 求出 e 的值 - 洛谷 | 计算机科学教育新生态

信息学奥赛一本通(C++版)在线评测系统

B2083 画矩形 - 洛谷 | 计算机科学教育新生态

B2085 第 n 小的质数 - 洛谷 | 计算机科学教育新生态

信息学奥赛一本通(C++版)在线评测系统

2.9.数组

⼀般在涉及到需要数组存放数据的时候,我们要注意:

  • 1. 有的题⽬要求数据从下标0的位置开始存放,也有些题⽬要求数据是从下标1的位置开始存 放,要仔细阅读题⽬。让从下标1开始存放的时候,数组的开辟必须要有多余的空间使 ⽤,如果开辟的刚刚好就会越界。 比特就业课
  • 2. 数组空间的开辟要⾜够,以免数据越界,所以经常题⽬需要存放n个数据,我们就开辟 n+10个空间,这样空间就⾮常充⾜,⽐较保险。其实在空间⾜够的情况下,浪费⼀点空 间是不影响的。在后期学习动态规划相关算法的时候,你就会有⾮常明显的感觉,⼀般都 会预留好空间。
  • 3. ⼀般数组较⼤的时候,建议将数组创建成全局数组,因为局部的数组太⼤的时候,可能会 导致程序⽆法运⾏,刷题多了就⻅怪不怪了。全局变量(数组)是在内存的静态区开辟空 间,但是局部的变量(数组)是在内存的栈区开辟空间的,每个程序的栈区空间是有限 的,不会很⼤。

2.9.1.一维数组

B2093 查找特定的值 - 洛谷 | 计算机科学教育新生态

B2089 数组逆序重存放 - 洛谷 | 计算机科学教育新生态

B2091 向量点积计算 - 洛谷 | 计算机科学教育新生态

B2090 年龄与疾病 - 洛谷 | 计算机科学教育新生态

B2092 开关灯 - 洛谷 | 计算机科学教育新生态

P1428 小鱼比可爱 - 洛谷 | 计算机科学教育新生态

信息学奥赛一本通(C++版)在线评测系统

2.9.2.二维数组

P5732 【深基5.习7】杨辉三角 - 洛谷 | 计算机科学教育新生态

B2099 矩阵交换行 - 洛谷 | 计算机科学教育新生态

B2103 图像相似度 - 洛谷 | 计算机科学教育新生态

B2104 矩阵加法 - 洛谷 | 计算机科学教育新生态

B2106 矩阵转置 - 洛谷 | 计算机科学教育新生态

B2101 计算矩阵边缘元素之和 - 洛谷 | 计算机科学教育新生态

B2108 图像模糊处理 - 洛谷 | 计算机科学教育新生态

P2550 [AHOI2001] 彩票摇奖 - 洛谷 | 计算机科学教育新生态

2.9.3.字符数组

P5733 【深基6.例1】自动修正 - 洛谷 | 计算机科学教育新生态

B2109 统计数字字符个数 - 洛谷 | 计算机科学教育新生态

信息学奥赛一本通(C++版)在线评测系统

B2111 基因相关性 - 洛谷 | 计算机科学教育新生态

B2113 输出亲朋字符串 - 洛谷 | 计算机科学教育新生态

B2118 验证子串 - 洛谷 | 计算机科学教育新生态

B2110 找第一个只出现一次的字符 - 洛谷 | 计算机科学教育新生态

2.10.函数

B2130 简单算术表达式求值 - 洛谷 | 计算机科学教育新生态

B2129 最大数 max(x,y,z) - 洛谷 | 计算机科学教育新生态

最高分与最低分之差

P5738 【深基7.例4】歌唱比赛 - 洛谷 | 计算机科学教育新生态

B2127 求正整数 2 和 n 之间的完全数 - 洛谷 | 计算机科学教育新生态

B2131 甲流病人初筛 - 洛谷 | 计算机科学教育新生态

B2128 素数个数 - 洛谷 | 计算机科学教育新生态

B2132 素数对 - 洛谷 | 计算机科学教育新生态

B2136 素数回文数的个数 - 洛谷 | 计算机科学教育新生态

B2139 区间内的真素数 - 洛谷 | 计算机科学教育新生态

2.11.递归

P5739 【深基7.例7】计算阶乘 - 洛谷 | 计算机科学教育新生态

B2064 斐波那契数列 - 洛谷 | 计算机科学教育新生态

B2142 求 1+2+3+...+N 的值 - 洛谷 | 计算机科学教育新生态

B2144 阿克曼(Ackermann)函数 - 洛谷 | 计算机科学教育新生态

B2145 digit 函数 - 洛谷 | 计算机科学教育新生态

B2147 求 f(x,n) - 洛谷 | 计算机科学教育新生态

B2148 再求 f(x,n) - 洛谷 | 计算机科学教育新生态

B2143 进制转换 - 洛谷 | 计算机科学教育新生态

2.12.位运算

2.12.1.二进制和进制转换

B3619 10 进制转 x 进制 - 洛谷 | 计算机科学教育新生态

B3620 x 进制转 10 进制 - 洛谷 | 计算机科学教育新生态

P1143 进制转换 - 洛谷 | 计算机科学教育新生态

2.12.2.位运算符

B2037 奇偶数判断 - 洛谷 | 计算机科学教育新生态

190. 颠倒二进制位 - 力扣(LeetCode)

476. 数字的补数 - 力扣(LeetCode)

191. 位1的个数 - 力扣(LeetCode)

231. 2 的幂 - 力扣(LeetCode)

136. 只出现一次的数字 - 力扣(LeetCode)

268. 丢失的数字 - 力扣(LeetCode)

2.13.类和结构体

加号运算符重载_牛客题霸_牛客网

重载小于号_牛客题霸_牛客网

P5742 【深基7.例11】评等级 - 洛谷 | 计算机科学教育新生态

B2125 最高分数的学生姓名 - 洛谷 | 计算机科学教育新生态

B2131 甲流病人初筛 - 洛谷 | 计算机科学教育新生态

争夺前五名

P1093 [NOIP2007 普及组] 奖学金 - 洛谷 | 计算机科学教育新生态

P1104 生日 - 洛谷 | 计算机科学教育新生态

Logo

加入社区!打开量化的大门,首批课程上线啦!

更多推荐