Java语法基础练习题2

练习4:

求一个n阶方阵对角线元素之和。

import java.util.Scanner;
public class Sum{
       public static void main(String args[]){
              int n;
              Scanner in = new Scanner(System.in);
              n = in.nextInt();
              int[][] a = new int[n][n];
              Scanner reader = new Scanner(System.in);
		for(int i=0; i<a.length;i++)
                    for(int j=0; j<a.length;j++)
			a[i][j] = reader.nextInt();
       
               int sum1 = 0,sum2 =0;
               for(int i=0; i<a.length;i++)
                   for(int j=0;j<a.length;j++){
                      if(i==j)
                      sum1 = sum1 + a[i][j];
                      if(i+j==n-1)
                      sum2 = sum2 + a[i][j]; }
               System.out.println("主对角线元素的和为:"+sum1);
               System.out.println("辅对角线元素的和为:"+sum2);
       }
}


运行结果:


练习5:

输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

import java.util.Scanner;
public class Arrays{
       public static void main(String args[]){
              int n;
              Scanner in = new Scanner(System.in);
              n = in.nextInt(); 
              int[] a = new int[n];
              Scanner reader = new Scanner(System.in);
              for(int i=0; i<a.length;i++)
                 a[i] = reader.nextInt();

          
              int max = 0,min = 0;
              for(int i=1; i<n;i++){
                  if(a[max]<a[i]){
                    max=i;}
                  if(a[min]>a[i]){
                    min=i;}}
               int t;
               t=a[0];
               a[0]=a[max];
               a[max]=t;
               t=a[n-1];
               a[n-1]=a[min];
               a[min]=t; 
               for(int i=0; i<n;i++)
               System.out.print(a[i]);

}
}
           
运行结果:

总结;在数组的实现过程中需要输入时要和c区分开,在习题五中只需一个for循环找最大最小值。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页