练习4:
求一个n阶方阵对角线元素之和。
import java.util.Scanner;
import java.util.Arrays;
public class Sum {
public static void main(String arges[]) {
int n=5;
int[][] a=new int[n][n];
Scanner reader=new Scanner(System.in);
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
a[i][j]=reader.nextInt();//输入二维数组的数据
}
}
int suma=0,sumb=0;
for(int i=0;i<n;i++)
suma=suma+a[i][i];//求第一条对角线元素之和
int j=n-1;
for(int i=0;i<n;i++)
{
sumb=sumb+a[j][i];//求第二条对角线元素之和
j--;
}
System.out.println(n+"阶方阵主对角线元素之和是:"+suma);
System.out.println(n+"阶方阵辅对角线元素之和是:"+sumb);
}
}
练习5:
输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
import java.util.Scanner;
import java.util.Arrays;
public class Change {
public static void main(String arges[]) {
int n=5;
int[] a=new int[n];
Scanner reader=new Scanner(System.in);//输入一维数组的数据
for(int i=0;i<n;i++)
{
a[i]=reader.nextInt();
}
int max=a[0];
int min=a[0];
int f=0,d=0;
for(int i=0;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
f=i;
}
} //找出数组元素中值最大的数
int t=a[0];
a[0]=max;
a[f]=t;//将最大的数与第一个元素交换
for(int i=0;i<n;i++)
{
if(min>a[i])
{
min=a[i];
d=i;
}
}//找出数组中最小的数
int g=a[n-1];
a[n-1]=min;
a[d]=g;//将最小的数与最后一个元素交换
for(int i=0;i<n;i++)
{
System.out.print(a[i]+" ");
}
}
}