数组元素的删除

完成数组元素的移动功能:假设数组有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;
}
相关推荐
启观川6 小时前
数据结构与算法 -第 3 章 常用算法-动态规划
数据结构·笔记·python·算法
码爸6 小时前
排序算法介绍
python·算法·排序算法
动词ing8 小时前
【题目练习】算法 组合总和||
算法
wuminyu8 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
longlongzihan8 小时前
链表找环:Floyd 判圈算法(LeetCode 141 & 142 )
c++·算法·leetcode·链表
专业程序开发源8 小时前
flask家电故障预测系统92491-计算机课程设计/毕业设计
vscode·python·sql·算法·flask·课程设计
Logic1018 小时前
C语言/数据结构欧几里得算法题解:长方形切割最大正方形——贪心划分计数
c语言·数据结构·算法·贪心算法·时间复杂度·空间复杂度·欧几里得算法
yi0118 小时前
LeetCode 643. 子数组最大平均数 I|从暴力枚举到滑动窗口
人工智能·笔记·python·算法·leetcode·滑动窗口
极光通讯9 小时前
服务器内存来料检验(IQC)实操:批次追溯、外观判定与上机验证
java·服务器·算法
淡海水9 小时前
02-04-原理篇-GC Roots与对象图遍历
算法·unity·c#·图·gc·遍历·roots