JAVA经典算法40题(15)

【程序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]+",");
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值