重啓c語言-數組元素的刪除

PTA第9題-數組元素的刪除

完成數組元素的移動功能:假設數組有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

思路:首先讀入數組長度n,然後將數組a[]讀入,之後將數組要操作的次數j讀入,然後進行刪除並將後面的元素向前移動即可。具體代碼如下:

#include<stdio.h>
int main()
{
	int i,j,i1,n,m,a[101];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	scanf("%d",&j);
	for(i=0;i<j;i++)
    {
    	scanf("%d",&m);
    	for(i1=m;i1<n;i1++)
    	{
    		a[i1-1]=a[i1];		
		}
	}
	for(i=0;i<n-j-1;i++)
  	{
	printf("%d ",a[i]);
    }
    printf("%d",a[n-j-1]);
}

而且發現就是最後一個輸出後面也不能有空格,所以我還是採用了分兩次輸出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章