问题
在一个数组的第 x 个位置插入一个新的数y。
1.分析问题
- 已知:一个数组
- 未知:更新后的数组
- 关系:x 个位置插入一个新的数y
2.定义变量
//二、数据定义
int n,a[100],x,y;
3.输入数据
//三、数据输入
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
cin>>x;
cin>>y;
4.数据计算
思路就是将数向后复制一位,然后将x位置上的数值重新赋值为y。
//四、数据计算
--x;
for(int i=n;i>=x;i--){
a[i]=a[i-1];
}
a[x]=y;
5.输出结果
#include<iostream>
using namespace std;
int main(){
//一、分析问题
//已知:一个数组
//未知:更新后的数组。
//关系:x 个位置插入一个新的数y
//二、数据定义
int n,a[100],x,y;
//三、数据输入
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
cin>>x;
cin>>y;
//四、数据计算
--x;
for(int i=n;i>=x;i--){
a[i]=a[i-1];
}
a[x]=y;
//五、输出结果
for(int i=0;i<n+1;i++){
cout<<a[i]<<" ";
}
return 0;
}