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

ZZULI OJ 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

 

提示

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


/**
 * 這個題目本身就有很大爭議  還題目刪除元素,還要定義什麼方法;純屬扯淡
 */
public class Main {

        public static void main(String[] args) {

                Scanner input = new Scanner(System.in);
                int n = input.nextInt();

                int[] arr = new int[n];

                for (int i = 0; i < n; i++) {
                        int num = input.nextInt();
                        arr[i]=num;
                }
                int index = input.nextInt();

                for (int i = 0; i < n; i++) {
                        if (index== i)
                                continue;   //也就是遍歷碰到這個索引所在的值,結束本次迴圈,也就書不輸出這個數,而進行下一次迴圈
                                             //但是這個值並沒有刪除
                        if (i != 0)
                                System.out.print(arr[i]+" ");
                        else
                                System.out.print(arr[i]+" ");

                }
                System.out.println();
                for (int i=0;i<arr.length;i++){
                        System.out.print(arr[i]+" ");
                }

        }


        }