问题:1162 - 数组元素的删除
类型:数组元素移动
题目描述:
把一个数组的第 x 个位置的元素删除掉。
输入:
输出有三行:
第一行有一个整数 n ( n≤10 );
第二行有 n 个整数(每个整数在1~1000之间);
第三行有一个整数 x(1≤x≤n),为要删除的位置。
输出:
输出更新后的数组。
样例:
输入:
cpp
5
1 2 3 4 5
3
输出:
cpp
1 2 4 5
完整代码如下:
cpp
#include<iostream>
using namespace std;
int main(){
// 一、分析问题
// 已知:用户将输入一个数组和一个要删除的元素的位置。
// 未知:删除指定位置的元素后的新数组。
// 关系:将指定位置之后的所有元素向前覆盖移动一位。
// 二、数据定义
int n;
int a[100];
int x;
// 三、数据输入
cin >> n;
for(int i = 0; i < n; i++){
cin >> a[i];
}
cin >> x;
// 四、数据计算 - 删除指定位置的元素
--x;
for(int i = x; i < n - 1; i++){
a[i] = a[i + 1];
}
// 五、输出结果 - 输出删除元素后的数组
for(int i = 0; i < n - 1; i++){
cout << a[i] << " ";
}
return 0;
}