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]);
}
而且發現就是最後一個輸出後面也不能有空格,所以我還是採用了分兩次輸出。