1. 程式人生 > >ZZULIOJ.1116: 刪除元素

ZZULIOJ.1116: 刪除元素

1116: 刪除元素

題目描述

輸入一個遞增有序的整型陣列A有n個元素,刪除下標為i的元素,使其仍保持連續有序。注意,有效下標從0開始。 定義如下兩個函式分別實現刪除元素操作和陣列輸出操作。

void del(int a[], int n, int i); /刪除陣列a中下標為i的元素/

void PrintArr(int a[], int n); /輸出陣列a的前n個元素/

輸入
輸入分三行,第一行是一個整數n(n<10),第二行是n個整數,第三行是要刪除元素的下標i,i>=0。

輸出
輸出刪除下標為i的元素後的陣列元素,資料之間用空格隔開。

樣例輸入
6
1 3 5 7 9 11
3
樣例輸出
1 3 5 9 11

提示
請注意當陣列只有一個元素,並且被刪除之後,則陣列為空,此時應該是沒有任何輸出。常見錯誤是在此種情況下輸出了第一個元素或輸出了回車。

#include<stdio.h>
void del(int a[],int n,int i) /*刪除陣列a中下標為i的元素*/
{
    int j;
    for(j=i;j<n-1;j++)
    {
     a[j]=a[j+1];
    }
}
void PrintArr(int a[],int n) /*輸出陣列a的前n個元素*/
{
    int i;
    for(i=0;i<n-1;i++)
    {
printf("%d ",a[i]); } } int main() { int n,i,a[10],j; scanf("%d",&n); for(j=0;j<n;j++) { scanf("%d",&a[j]); } scanf("%d",&i); del(a,n,i); PrintArr(a,n); return 0; }