62,620
社区成员
发帖
与我相关
我的任务
分享
public class test7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = 0;
int[] t;
Scanner sc = new Scanner(System.in);
System.out.println("本系统支持随机数组(小于等于10整数)的相关计算。");
System.out.print("请输入数组长度(0表示退出系统):");
int n = sc.nextInt();
// System.out.println();
while (n != 0) {
t= new int[n];
System.out.print("随机素组:");
for (int i = 0; i < n; i++) {
t[i] = (int) (Math.random() * 11);
if ((i + 1) == n) {
System.out.print(t[i] + "\r\n");
break;
}
System.out.print(t[i] + ",");
}
quicksort(t, 0, n-1);
for (int i = 0; i < n; i++) {
sum = sum + t[i];
}
System.out.println("数组的和:" + sum);
System.out.println("数组的平均值:" + sum / n);
System.out.println("数组的最大值:" + t[n - 1]);
System.out.print("从小到大排序后:");
for (int i = 0; i < n; i++) {
if ((i + 1) == n) {
System.out.print(t[i] + "\r\n");
break;
}
System.out.print(t[i] + ",");
}
System.out.println("本次计算已经结束");
System.out.println("==============================");
sum = 0;
System.out.print("请输入数组长度(0表示退出系统):");
n=sc.nextInt();
}
System.out.println("退出系统。");
}
public static void quicksort(int[] arr, int low, int high) {
int i, j, temp, t;
if (low > high) {
return;
}
i = low;
j = high;
temp = arr[low];
while (i < j) {
while (temp <= arr[j] && i < j) {
j--;
}
while (temp >= arr[i] && i < j) {
i++;
}
if (i < j) {
t = arr[j];
arr[j] = arr[i];
arr[i] = t;
}
}
arr[low] = arr[i];
arr[i] = temp;
quicksort(arr, low, j - 1);
quicksort(arr, j + 1, high);
}
}