课程目录展开/折叠
- 课程直播回放
- 第1课 C++编程快速入门试学
- 第2课 C++程序设计基础知识试学
- 第3课 基本输入输出和数据类型试学
- 第4课 基本输入输出和数据类型试学
- 第5课 基本输入输出和数据类型试学
- 第6课 数据类型和运算符试学
- 第7课 数据类型和运算符试学
- 第8课 C++中的运算符试学
- 第9课 C++中的运算符试学
- 第10课 C++中的运算符试学
- 第11课 C++中的运算符
- 第12课 条件判断和选择语句
- 第13课 条件判断和选择语句
- 第14课 条件判断和选择语句(刷题课)
- 第15课 循环
- 第16课 循环
- 第17课 循环
- 第18课 循环(刷题课)
- 第19课 循环(刷题课)
- 第20课 循环(刷题课)
- 第21课 循环(刷题课)
- 第22课 循环(刷题课)
- 第23课 循环嵌套
- 第24课 循环嵌套(刷题课)
- 第25课 数组试学
- 第26课 数组试学
- 第27课 数组(刷题课)试学
- 第28课 数组(刷题课)试学
- 第29课 数组(刷题课)试学
- 第30课 数组试学
- 第31课 二维数组试学
- 第32课 二维数组试学
- 第33课 数组(刷题课)试学
- 第34课 数组(刷题课)试学
- 第35课 字符串
- 第36课 字符串
- 第37课 字符串
- 第38课 字符串
- 第39课 字符串
- 第40课 字符串
- 第41课 字符串
- 第42课 字符串
- 第43课 字符串
- 第44课 指针
- 第45课 指针
- 第46课 指针
- 第47课 指针
- 第48课 指针
- 第49课 指针
- 第50课 指针
- 第51课 指针
- 第52课 指针
- 第53课 指针
- 第54课 函数
- 第55课 函数
- 第56课 函数
- 第57课 函数
- 第58课 函数
- 第59课 递归函数
- 第60课 递归函数
- 第61课 递归函数
- 第62课 递归函数
- 第63课 结构体和共用体
- 第64课 结构体和共用体
- 第65课 结构体和共用体
- 第66课 结构体和共用体
- 第67课 结构体和共用体
- 第68课 文件和文件读写
- 第69课 文件和文件读写
- 第70课 面向对象和类
- 第71课 面向对象和类试学
- 第72课 面向对象和类试学
- 第73课 STL中常用算法函数和类试学
- 第74课 整数编码和位运算试学
- 第75课 C++课程总结以及后续学习规划建议试学
第29课 数组(刷题课)
播放快捷键
播放/暂停:空格(或鼠标单击) 全屏:F(或鼠标双击) 退出全屏:Esc
快进10 / 30 / 60秒:方向键→ / Ctrl + 方向键→ / Shift + 方向键→
快退10 / 30 / 60秒:方向键← / Ctrl + 方向键← / Shift + 方向键←
本节课讲解配套PPT&板书:


















本节课讲解到的源代码
源代码下载:第29课 数组(刷题课)-源代码下载
1. C1001-站着的人-1
#include <bits/stdc++.h>
using namespace std;
// 用一个数组表示所有的人状态
bool a[10005]; // false => 代表的是站着的 true => 坐着的
int main()
{
int n, k;
cin >> n >> k;
// 模拟算法
// 从第2个人到第k个人
for (int i = 2; i <= k; i ++)
{
// i * 1 i * 2 i * 3 i * 4 <= n
// 枚举倍数 j : 1 2 3 4 5
for (int j = 1; i * j <= n; j ++)
{
a[i * j] = !a[i * j];
}
}
for (int i = 1; i <= n; i ++)
{
if (a[i] == false) cout << i << ' ';
}
return 0;
}
2. C1001-站着的人-2
#include <bits/stdc++.h>
using namespace std;
// 用一个数组表示所有的人状态
int a[10005]; // 0 => 代表的是站着的 1 => 坐着的
int main()
{
int n, k;
cin >> n >> k;
// 模拟算法
// 从第2个人到第k个人
for (int i = 2; i <= k; i ++)
{
// i 2i 3i 4i 5i 6i,枚举的是整体
for (int j = i; j <= n; j += i) // j = j + i
{
// a[j] = !a[j];
if (a[j] == 0) a[j] = 1;
else a[j] = 0;
}
}
for (int i = 1; i <= n; i ++)
{
if (!a[i]) cout << i << ' ';
}
return 0;
}
3. P1034-陶陶摘苹果-1
#include <bits/stdc++.h>
using namespace std;
int a[15]; // 10个苹果的高度
int h; // 手够到的高度
int main()
{
for (int i = 0; i < 10; i ++)
{
cin >> a[i];
}
cin >> h;
// 枚举 + 模拟
int ans = 0; // answer答案 res result
for (int i = 0; i < 10; i ++)
{
if (h + 30 >= a[i]) ans ++;
}
cout << ans;
return 0;
}
4. C1006-前缀和-1
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e6 + 5;
int a[MAXN];
int main()
{
// speed io
const char endl = '\n';
ios::sync_with_stdio(false);
cin.tie(0);
int m, n;
cin >> m >> n;
for (int i = 1; i <= m; i ++)
{
cin >> a[i];
}
int l, r;
int sum = 0;
while (n--)
{
sum = 0;
cin >> l >> r;
for (int i = l; i <= r; i ++)
{
sum += a[i];
}
cout << sum << endl;
}
return 0;
}
5. C1006-前缀和-2
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e6 + 5;
int a[MAXN]; // 原数组 4MB
int s[MAXN]; // 前缀和数组 4MB
int main()
{
// speed io
const char endl = '\n';
ios::sync_with_stdio(false);
cin.tie(0);
int m, n;
cin >> m >> n;
for (int i = 1; i <= m; i ++)
{
cin >> a[i];
s[i] = s[i - 1] + a[i];
}
while (n--)
{
int l, r;
cin >> l >> r;
cout << s[r] - s[l - 1] << endl;
}
return 0;
}
6. P1107-简单的排序-1
#include <bits/stdc++.h>
using namespace std;
int a[105];
int n;
int main()
{
cin >> n;
for (int i = 0; i < n; i ++)
{
cin >> a[i];
}
// 交换排序(选择排序的一个变种)
for (int i = 0; i < n - 1; i ++)
{
for (int j = i + 1; j < n;j ++)
{
if (a[j] < a[i]) // swap(a[i], a[j]);
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for (int i = 0; i < n; i ++)
{
cout << a[i] << ' ';
}
return 0;
}
7. P1107-简单的排序-2
#include <bits/stdc++.h>
using namespace std;
int a[105];
int n;
int main()
{
cin >> n;
for (int i = 0; i < n; i ++)
{
cin >> a[i];
}
// 交换排序(选择排序的一个变种)
for (int i = 0; i < n - 1; i ++)
{
for (int j = i + 1; j < n;j ++)
{
if (a[j] < a[i]) swap(a[i], a[j]);
}
}
for (int i = 0; i < n; i ++)
{
cout << a[i] << ' ';
}
return 0;
}
本节课答疑
建议大家有问题先通过AI答疑(比如:DeepSeek 等),AI时代需要学会使用AI辅助学习
陈远龙老师视频讲解:如何使用DeepSeek进行答疑?
通过AI未能获得满意解答的,可以联系陈远龙老师答疑
目录