版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014543872/article/details/84311800
题目描述
输入一个递增有序的整型数组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]+" ");
}
}
}