9.13第二周java作业

练习4:

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

代码:

import java.util.*;
public class test4 {
public static void main(String args[]){
System.out.println("请输入方阵阶数:");
Scanner input=new Scanner(System.in);
int n=input.nextInt();
int[][] a=new int[n][n];
System.out.println("请输入方阵数据:");
for(int i=0;i<a.length;i++)
for(int j=0;j<a.length;j++)
{
a[i][j]=input.nextInt();
}
int sum=0;
for(int m=0;m<a.length;m++)
sum+=a[m][m];
System.out.print(sum);
}
}

运行结果截图:



练习5:

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

代码:

package xx;
import java.util.*;
public class test5 {
public static void main(String args[]){
Scanner input=new Scanner(System.in);
int n;
System.out.println("请输入数组长度:");
n=input.nextInt();
int []a=new int[n];
System.out.println("请输入数组数据:");
int i,max,j=0,min,k=0,t;
for(i=0;i<a.length;i++)
a[i]=input.nextInt();
System.out.println("输入的数组为:");
for(i=0;i<a.length;i++)
System.out.print(a[i]+"\t");
System.out.print("\n");
max=a[0];
min=a[a.length-1];
for(i=0;i<a.length;i++)
{
if(max<a[i])
{
max=a[i];
j=i;
}
}
t=a[0];
a[0]=a[j];
a[j]=t;
for(i=0;i<a.length;i++)
{
if(min>a[i])
{
min=a[i];
k=i;
}
}
t=a[a.length-1];
a[a.length-1]=a[k];
a[k]=t;
System.out.println("调整后的数组为:");
for(i=0;i<a.length;i++)
System.out.print(a[i]+"\t");

}
}


反思问题:

第五个练习如果第一数是最小数,最后一个数是最大数怎么保证不被换两次

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章