ZZULIOJ.1116: 刪除元素
阿新 • • 發佈:2018-11-19
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;
}