【程序29】题目:求一个3*3矩阵对角线元素之和
1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
- public class Ex29 {
- public static void main(String[] args){
- double sum=0;
- int array[][]={{1,2,3},{4,5, 6},{7,7,8}};
- for(int i=0;i<3;i++)
- for(int j=0;j<3;j++){
- if(i==j)
- sum=sum + array[i][j];
- }
- System.out.println( sum);
- }
- }
【程序30】题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
- import java.util.Random;
- public class ArraySort {
- public static void main(String[] args){
- int temp=0;
- int myarr[] = new int[12];
- Random r=new Random();
- for(int i=1;i<=10;i++)
- myarr[i]=r.nextInt(1000);
- for(int k=1;k<=10;k++)
- System.out.print(myarr[k]+",");
- for(int i=1;i<=9;i++)
- for(int k=i+1;k<=10;k++)
- if(myarr[i]>myarr[k]){
- temp=myarr[i];
- myarr[i]=myarr[k];
- myarr[k]=temp;
- }
- System.out.println("");
- for(int k=1;k<=10;k++)
- System.out.print(myarr[k]+",");
- myarr[11]=r.nextInt(1000);
- for(int k=1;k<=10;k++)
- if(myarr[k]>myarr[11]){
- temp=myarr[11];
- for(int j=11;j>=k+1;j--)
- myarr[j]=myarr[j-1];
- myarr[k]=temp;
- }
- System.out.println("");
- for(int k=1;k<=11;k++)
- System.out.print(myarr[k]+",");
- }
- }