数组元素的删除

完成数组元素的移动功能:假设数组有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;
}
相关推荐
老鼠只爱大米3 分钟前
LeetCode经典算法面试题 #215:数组中的第K个最大元素(快速选择、堆排序、计数排序等多种实现方案详解)
算法·leetcode·堆排序·快速选择·topk·数组中的第k个最大元素
2301_8166512210 分钟前
C++中的享元模式变体
开发语言·c++·算法
逆境不可逃12 分钟前
LeetCode 热题 100 之 35. 搜索插入位置 74. 搜索二维矩阵 34. 在排序数组中查找元素的第一个和最后一个位置
数据结构·算法·leetcode
m0_5832031313 分钟前
C++中的访问者模式变体
开发语言·c++·算法
浅念-20 分钟前
C ++ 智能指针
c语言·开发语言·数据结构·c++·经验分享·笔记·算法
不染尘.21 分钟前
最小生成树算法
开发语言·数据结构·c++·算法·图论
Klong.k34 分钟前
判断是不是素数题目
数据结构·算法
QQsuccess35 分钟前
AI全体系保姆级详讲——第一部分:了解AI基本定义
人工智能·算法
_日拱一卒38 分钟前
LeetCode:移动零
算法·leetcode·职场和发展
A923A1 小时前
【洛谷刷题 | 第四天】
算法·前缀和·贪心·洛谷·差分