public static void chaRu(int[] x) {
for (int i = 1; i 从1开始,因为第1个数已经是排好序的
for (int j = i; j > 0; j–) {
if (x[j] < x[j - 1]) {
int temp = x[j];
x[j] = x[j - 1];
x[j - 1] = temp; } } }
for (int i : x) {
System.out.print(i + ” ”); } } }
16.编写程序,产生30个素数,按从小到大的顺序放入数组prime[]中。
public class PrimeArray {
public static void main(String args[]) {
int[] primearry=new int[30];
primearry[0]=2;
int num=1;
System.out.print(2 + ” ”);
for(int i=3;i<=1000;i+=2){
boolean f = true;
for (int j=2;j
if(i % j == 0){
f= false;
break; } }
if(!f) {continue;}
primearry[num++]=i;
System.out.print(i + ” ”);
if(num%5 == 0)System.out.println();
if(num==30)break; } } }
17. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。分别编写一个应用程序和小应用程序求 1000之内的所有完数。
public class Wanshu {
public static void main(String[] args) {
int sum=0,i,j;
for(i=1;i<=1000;i++) {
for(j=1,sum=0;j
if(i%j==0)
sum=sum+j; }
if(sum==i) {
System.out.print (“完数:”+i+” ”+”其因子是:“ );
for(int k=1;k<=sum/2;k++) {
if(sum%k==0)
System.out.print(“ ”+k); }
System.out.println(); } } } }
18. 从键盘读取若干个数,以“-1”结束,按从小到大的顺序排序。
import java.util.Scanner;
public class sc_num {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int scnum=0,i=0;
int []scarry=new int[30];
System.out.println(“输入整数(-1结束):”);
while(scnum!=-1){
scarry[i]=scanner.nextInt();;
scnum=scarry[i]; i++; }
xuanZe(scarry,i-1); }
// 选择排序
public static void xuanZe(int[] x,int n) {
for (int i = 0; i int lowerIndex = i; for (int j = i + 1; j < n; j++) { if (x[j] < x[lowerIndex]) { lowerIndex = j; } } int temp = x[i]; x[i] = x[lowerIndex]; x[lowerIndex] = temp; } for (int i=0;i System.out.print(x[i] + ” ”); } } }