1 条题解

  • 0
    @ 2026-1-29 21:51:36
    #include<bits/stdc++.h>
    using namespace std;
    // arr 存储原始输入的数组,brr 存储插入新元素后的数组
    int arr[1100];
    int brr[1100];
    int main() {
        // [1] 读取原始数组的元素个数 n
        int n;
    	cin>>n;
    	
        // [2] 循环读取 n 个原始数字,存入数组 arr
    	for(int i=0;i<n;i++){
    		cin>>arr[i];
    	}
    	
        // [3] 读取要插入的位置 x(题目中位置从 1 开始计数)和要插入的数值 y
    	int x,y;
    	cin>>x>>y;
    	
        // [4] 初始化新数组 brr 的下标指针 j
    	int j=0;
        // [5] 遍历原始数组,构建插入后的新数组
    	for(int i=0;i<n;i++){
            // 当遍历到插入位置的对应索引(x-1,将题目中的 1 起始位置转为 0 起始索引)
    		if(i==x-1){
    			brr[j]=y; // 先把要插入的数值 y 存入新数组
    			j++;      // 新数组下标后移一位
    		}
    		brr[j]=arr[i]; // 再存入当前原始数组的元素
    		j++;           // 新数组下标继续后移
    	}
    	
        // [6] 遍历输出插入后的新数组(长度为 n+1)
    	for(int i=0;i<=n;i++){
    		cout<<brr[i]<<" ";
    	} 
        return 0;                  
    }
    
    • 1

    信息

    ID
    1168
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    1
    已通过
    1
    上传者