c++ - 为什么这段代码会崩溃
问题描述
Q. 取一个长度为 n 的数组,其中所有的数字都是非负的且唯一的。找到数组中具有最高值的元素。将元素分成两部分,其中第一部分包含数组中的下一个最高值,第二部分包含所需的附加实体以获得最高值。打印最高值被分成这两个部分的数组。样本输入:4 8 6 3 2 样本输出:4 6 2 6 3 2
#include <array>
#include <iostream>
using namespace std;
int main () {
int n, i, b, c, m;
cin >> n;
int a[ n ];
int z[ n + 1 ];
b = a[ 0 ];
c = a[ 0 ];
for (i = 0; i < n; i++)
cin >> a[ i ];
for (i = 0; i < n; i++) {
if (b < a[ i ])
b = a[ i ];
}
for (i = 0; i < n; i++) {
if (c < a[ i ] && a[ i ] != b)
c = a[ i ];
if (a[ i ] == b)
m = i;
}
for (i = 0; i < m; i++) {
z[ i ] = a[ i ];
}
for (i = m + 2; i < n + 1; i++) {
z[ i ] = a[ i - 1 ];
}
z[ m ] = c;
z[ m + 1 ] = b - c;
for (i = 0; i < n + 1; i++)
cout << z[ i ] << endl;
return 0;
}
解决方案
数组不是图书馆。您必须删除:
#include <array>
推荐阅读
- r - 带有 R 和 x-www-form-urlencoded 的 POST 请求无法编码有效负载
- java - 具有自定义边框颜色的 AutocompleteTextView ON FOCUS
- javascript - 谷歌地图重启绘图管理器
- machine-learning - 用于名称建议的 AI 和认知服务
- python - 使用 pgmagick 在 Python 中调整图像级别
- javascript - 如何将 id 从 boostrap 中的模态传递到 PHP 文件
- java - 如何使用 Java 8 流将字符串数组转换为大整数数组
- javascript - 检索 JSON 中的特定数组值 - 角度 5
- sql - 在创建 PostgreSQL 查询时需要帮助
- typescript - 如何使用角度 5 中的 JSON 文件动态构建模型类