四、数组
1.求出数组的最大元素在数组中的下标并输出该最大值。如数组元素为如下整数:876 675 896 101 301 401 980 431 451 223 ,则输出结果为6,980。
import java.util.Scanner;
public class Text1 {
public static void main(String[] args) {
int max=0,n=0;
int[] arr = new int[10];
for(int i=0;i<arr.length;i++) {
Scanner in = new Scanner(System.in);
arr[i] = in.nextInt();
}
for(int j=0;j<arr.length;j++) {
if(arr[j]>max) {
max = arr[j];
n = j;
}
}
System.out.println(n+","+max);
}
}
2.编写程序,实现从键盘输入n个整数,求该组整数的平均值,并将大于平均值的整数输出。
import java.util.Scanner;
public class Text2 {
public static void main(String[] args) {
int n,sum=0;
float avg;
Scanner in1 = new Scanner(System.in);
n = in1.nextInt();
int []num = new int[n];
for(int i=0;i<n;i++) {
Scanner in2 = new Scanner(System.in);
num[i] = in2.nextInt();
sum += num[i];
}
avg = sum / num.length;
for(int j=0;j<n;j++) {
if(num[j]>avg) {
System.out.print(num[j]+" ");
}
}
}
}
3.编写程序,输入10个整数存储在数组中,要求将此数组中的元素首尾交换从而实现逆置。
import java.util.Scanner;
public class Text3 {
public static void main(String[] args) {
int[] a = new int[10];
int []b = new int[10];
for(int i=0;i<a.length;i++) {
Scanner in = new Scanner(System.in);
a[i] = in.nextInt();
}
for(int i=0,j=a.length-1;i<a.length;i++,j--) {
b[i] = a[j];
}
for(int i=0;i<b.length;i++) {
System.out.println(b[i]);
}
}
}
4.现有一个有序(如:升序)数组,编程实现在此有序数组中插入一个新的数值,插入后此数组仍然要保持有序。
import java.util.Scanner;
public class Text4 {
public static void main(String[] args) {
int num,index=0;
int[] a = new int[] {
6,11,23,40,56,99};
int[] b = new int[a.length+1];
Scanner in = new Scanner(System.in);
num = in.nextInt();
for(int i=0;i<a.length;i++) {
if(a[i]>num) {
index = i;
break;
}
}
for(int i=0;i<index;i++) {
b[i] = a[i];
}
b[index] = num;
for(int j=index+1;j<a.length+1;j++) {
b