数组元素的删除

完成数组元素的移动功能:假设数组有n个元素,输入一个数x,把数组的第x个位置的元素删除了,后面的元素依次前进一个位置。

重复若干次这样的删除,得到最后的结果。

输入格式:

第一行包括一个整数n(1<=n<=100),表示数组元素的个数。

第二行输入n个数组元素,均为整数,用空格隔开。

第三行输入一个数k(1<=k<=100),表示要进行k次删除。

接下来k行,每行一个数x,表示要删除第x个元素。

输出格式:

输出经过k次删除后的数组,每两个元素之间用空格隔开。

输入样例:

复制代码
10
1 2 3 4 5 6 7 8 9 10
4
3
2
4
6

输出样例:

复制代码
1 4 5 7 8 10

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

C程序如下:

cs 复制代码
#include <stdio.h>

int main(void)
{
    int n;
    scanf("%d", &n);
    int a[n];
    for(int i = 0; i < n; i ++)
    {
        scanf("%d", &a[i]);
    }
    int b;
    scanf("%d", &b);
    int c, count = 0;
    for(int i = 0; i < b; i ++)
    {
        scanf("%d", &c);
        for(int j = c; j < (n - count + 1); j ++)
        {
            a[j - 1] = a[j];
        }
        count ++;
    }
    for(int i = 0; i < (n - b - 1); i ++)
    {
        printf("%d ", a[i]);
    }
    printf("%d", a[n - b - 1]);
    return 0;
}
相关推荐
王璐WL5 分钟前
【C语言入门级教学】函数的概念2
c语言·数据结构·算法
不知名的忻1 小时前
B 树与 B+ 树:面试完全指南
b树·算法·面试·b+树
运筹vivo@2 小时前
2657. 找到两个数组的前缀公共数组 | 难度:中等
算法·leetcode·职场和发展·哈希表
索木木2 小时前
NCCL SHARP 和 TREE算法
java·服务器·算法
古城小栈2 小时前
Rust 调用 C 语言库 实战指南(企业级)
c语言·开发语言·rust
枕星而眠3 小时前
Linux 线程:原理、属性、实战与面试避坑
linux·运维·c语言·面试
心中有国也有家3 小时前
hccl 架构拆解:昇腾集合通信库到底在做什么?
人工智能·经验分享·笔记·分布式·算法·架构
小O的算法实验室3 小时前
2026年MCS,Q-learning增强MOPSO与改进DWA融合算法+复杂三维地形下特定移动机器人动态路径规划
算法
码完就睡4 小时前
C语言——动态内存
c语言·开发语言
Peter·Pan爱编程4 小时前
10. new_delete 不是 malloc_free 的包装
c++·人工智能·算法