1、实验10 排序和二维数组的使用
1. 程序填空题,不要改变与输入输出有关的语句。
60005 排序
输入一个正整数repeat (0 2、ic void main(String []args){
int ri, repeat;
int i, index, k, n, temp,a[];
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
a=new int[n];
for(i=0; i 3、nt();
/*---------*/
for(i=0;i 4、rint(a[i]+" ");
System.out.println();
}
}
}
或:
for(i=0;i 5、
读入 1 个正整数 n(1≤n≤6), 再读入 n 阶方阵 a , 计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和.(副对角线为从矩阵的右上角至左下角的连线)
例:括号内是说明
输入:
1 (repeat=1)
4 (n=4)
2 3 4 1
5 6 1 1
7 1 8 1
1 1 1 1
sum=35 (2+3+4+5+6+7+8=35)
import java.util.Scanner;
public class Test60011{
public static void main(String []args){
i 6、nt ri, repeat;
int a[][],i,j,n,sum;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
a=new int[n][n];
for(i=0; i 7、 /*---------*/
sum=0;
for(i=0; i 8、 加法口诀表
输入一个正整数repeat (0 9、ss Test60012{
public static void main(String []args){
int ri, repeat;
int i,j,n,a[][]=new int[10][10];
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
/*---------*/
for(i=1;i<=n; 10、i++) { //给第0行和第0列所有元素赋值,a[0][0]不用赋值
a[0][i]=i; //第0行为被加数,从第1列开始赋值1,2,...,n
a[i][0]=i; //第0列为加数,从第1行元素开始赋值1,2,...,n
}
for(i=1;i<=n;i++) //计算和,从第1行第1列开始
for(j=1;j<=i;j++){
a[i][j]=i+j;
//或 a[i][j]=a[i][0]+a[0][j]; //所在行第0列元素+所在列第 11、0行元素
}
for( i=0; i<=n; i++ ){
for( j=0; j<=n; j++ )
if(i==0&&j==0) System.out.print( "+ ");//在第0行第0列上输出"+ "
else if(i==0||j<=i) System.out.print(a[i][j]+" ");
//输出第0行和下三角阵各元素
System.out.println();
12、 }
}
}
}
60013 判断上三角矩阵
输入一个正整数repeat (0 13、
NO
import java.util.Scanner;
public class Test60013{
public static void main(String []args){
int ri, repeat;
int a[][],i,j,n;
boolean flag;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt 14、);
a=new int[n][n]
for (i=0;i 15、ag=false;//若有一个元素非0,则不是上三角矩阵
if(flag) System.out.println("YES");
else System.out.println("NO");
}
}
}
60014 求矩阵每行元素之和
输入一个正整数repeat (0 16、
1 (repeat=1)
3 2 (m=3, n=2)
6 3
1 -8
3 12
输出:
sum of row 0 is 9
sum of row 1 is -7
sum of row 2 is 15
import java.util.Scanner;
public class Test60014{
public static void main(String []args){
int ri, repeat;
int i,j,m,n,a[][],row[];
Scanner in=new Scanner( 17、System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
m=in.nextInt();
n=in.nextInt();
a=new int[m][n];
row=new int[m];
for (i=0;i 18、/
for (i=0;i 19、
输入一个正整数repeat (0 20、ic class Test60019{
public static void main(String []args){
int ri, repeat;
int i,j,k,row,col,n,a[][];
boolean flag;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
a=new int[n][n]; 21、
for (i=0;i 22、//col保存最大值的列坐标,假设第i行第0列元素为最大
for(j=1;j 23、 break; //若有比a[row][col]小的,可知它不是鞍点,可结束循环
}
}
if(flag)break; //找到1个鞍点后就不用再找了
}
if(flag) System.out.println("a["+row+"]["+col+"]="+a[row][col]);
else System.out.println("NO");
}
}
}
2. 编程题
60 24、015 编程:交换矩阵中的两行
编程,输入一个正整数 n (n>0),做 n 次下列运算:
输入1个3×3的整数矩阵,将它们存入数组 a 中,交换其第一行和最后一行后,再以矩阵格式输出。
矩阵中每个元素的输出参数为:a[i][j]+"\t"
说明:
1)源程序中不得出现package关键字;
2)程序中的第一个大括号“{”必须位于类名所在行。
3)类名与变量名由编程者自取。
4)指明为整数或整数的数据,不要用浮点类型。
输入输出示例:括号内为说明
输入:
2 (n=2,后面将分别输入2个矩阵)
1 3 5 (第一个矩阵)
7 9 5
8 9 0
25、
7 3 5 (第二个矩阵)
9 71 22
9 7 66
输出:(每个数据后有一个制表符)
8 9 0 (第一个矩阵输出)
7 9 5
1 3 5
9 7 66 (第二个矩阵输出)
9 71 22
7 3 5
import java.util.Scanner;
public class Test60015{
public static void main(String []args){
int n,ri,i,j,a[][],temp;
Scanner in=new Scanner(System.in);
26、n=in.nextInt();
for(ri=1;ri<=n;ri++){
a=new int[3][3];
for(i=0;i<3;i++)
for (j=0;j<3;j++)
a[i][j]=in.nextInt();
for(j=0;j<3;j++){ //交换第一行(行号为0)和最后一行(行号为2)
temp=a[0][j];
a[0][j]=a[2][j];
a[2][j]=temp;
}
for(i=0;i<3;i++){
for(j=0;j<3;j++)
System.out.print(a[i][j]+"\t");
System.out.println();
}
}
}
}
Welcome To
Download !!!
欢迎您的下载,资料仅供参考!






