ZZULI OJ 1116: 刪除元素
阿新 • • 發佈:2018-11-21
題目描述
輸入一個遞增有序的整型陣列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]+" "); } } }