数组元素的删除 (10分)(PTA)

数组元素的删除

完成数组元素的移动功能:假设数组有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

代码

#include<stdio.h>
int main(void)
{
	int n, h, i, j, c=0;
	int a[100], b[100];
	scanf("%d",&n);
	for(i=0; i<n; i++){
		scanf("%d",&a[i]);
	}
		scanf("%d",&h);
	for(i=0; i<h; i++)
		scanf("%d",&b[i]);
	for(i=0; i<h; i++){
		for(j=b[i]; j<=n; j++)
			a[j-1]=a[j];
	}
	for(i=0; i<n-h; i++){
		if(c==n-h-1)
		printf("%d",a[i]);
		else
			printf("%d ",a[i]);
		c++;
	}
	return 0;
}

posted @ 2021-08-31 14:58  南省东商  阅读(469)  评论(0编辑  收藏  举报