《浙大JAVA-实验题答案(共8页).doc》由会员分享,可在线阅读,更多相关《浙大JAVA-实验题答案(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上实验11 数组作为方法的参数1. 程序填空题,不要改变与输入输出有关的语句。60030 输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个正整数n,再输入n个整数,将它们从小到大排序后输出。要求将排序编写为一个sort()方法。例:括号内是说明输入3 (repeat=3) 4 5 1 7 63 1 2 35 5 4 3 2 1 输出1 5 6 7 1 2 3 1 2 3 4 5 import java.util.Scanner;public class Test60030 public static void main(String
2、 args) int ri, repeat; int i, n, a; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) n=in.nextInt(); a=new intn; for(i=0; in; i+) ai=in.nextInt(); sort(a); for(i=0; in; i+) System.out.print(ai+ ); System.out.println(); /*-*/说明:数组作参数时,传递的是地址,形参数组和实参数组共用同一块内存,/方法sort()
3、中对形参数组b排序,实际上就是对实参数组a排序,/所以不需要返回值。 static void sort(int b) int i,j,k,temp; for(i=0;ib.length-1;i+) /选择法递增排序 k=i; for(j=i+1;jbj) k=j; if(i!=k) temp=bi;bi=bk; bk=temp; 60031 输入一个正整数repeat (0repeat10),做repeat次下列运算:读入 1 个正整数 n(1n6), 再读入2个 n 阶方阵 a和b , 判断2个方阵是否相同。要求:编写判断函数(方法)judge()。例:括号内是说明输入:2 (repeat=
4、2)3 (n=3)1 2 3 4 5 6 7 8 9 (a矩阵)1 1 1 1 1 1 1 1 1 (b矩阵)21 2 3 41 2 3 4输出:NoYesimport java.util.Scanner;public class Test60031 public static void main(String args) int ri, repeat; int a,b,i,j,n; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) n=in.nextInt(); a=new in
5、tnn; b=new intnn; for(i=0; in; i+) for(j=0;jn;j+) aij=in.nextInt(); for(i=0; in; i+) for(j=0;jn;j+) bij=in.nextInt(); if(judge(a,b) System.out.println(Yes); else System.out.println(No); /*-*/static boolean judge(int a,int b)for(int i=0;ia.length; i+)for(int j=0;jai.length;j+)if(aij!=bij) return fals
6、e;return true;60032 输入一个正整数repeat (0repeat10),做repeat次下列运算:读入 2 个正整数 m和n(1m,n6), 再读入1个 mn 阶矩阵 a , 计算该矩阵元素的最大值。要求:编写max(),返回矩阵元素的最大值。例:括号内是说明输入:1 (repeat=1)3 2 (m=3,n=2)23 465567 7889 4输出:max=567 import java.util.Scanner;public class Test60032 public static void main(String args) int ri, repeat; int
7、a,i,j,m,n; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) m=in.nextInt(); n=in.nextInt(); a=new intmn; for(i=0; im; i+) for(j=0;jn;j+) aij=in.nextInt(); System.out.println(max=+max(a); /*-*/static int max(int b)int max=b00;for(int i=0;ib.length;i+)for(int j=0;jbi.l
8、ength;j+)if(maxbij) max=bij;return max;60033 输入一个正整数repeat (0repeat10),做repeat次下列运算:读入 1 个正整数 n(1n6), 再读入2个 n 阶方阵 a和b , 计算矩阵的和。要求:(1)编写计算矩阵和的函数(方法)add()。(2)编写输出矩阵的方法prt()。矩阵元素输出使用:System.out.print(aij+);例:括号内是说明输入:1 (repeat=1)3 (n=3)1 2 3 4 5 6 7 8 9 (a矩阵)1 1 1 1 1 1 1 1 1 (b矩阵)输出:A Matrix123456789B
9、 Matrix111111111A+B Matrix2345678910import java.util.Scanner;public class Test60033 public static void main(String args) int ri, repeat; int a,b,c,i,j,n; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) n=in.nextInt(); a=new intnn; b=new intnn;c=new intnn; for(i=0; i
10、n; i+) for(j=0;jn;j+) aij=in.nextInt(); for(i=0; in; i+) for(j=0;jn;j+) bij=in.nextInt(); add(a,b,c); prt(A Matrix,a); prt(B Matrix,b); prt(A+B Matrix,c); /*-加法-*/ static void add(int x,int y,int z) for(int i=0;ix.length;i+) for(int j=0;jxi.length;j+) zij=xij+yij; /*-输出-*/ static void prt(String s,i
11、nt a) System.out.println(s); for(int i=0; ia.length; i+) for(int j=0;j0),做 n 次下列运算:输入一组(5个)有序的整数,再输入一个整数 x,把 x 插入到这组数据中,使该组数据(6个数)仍然有序。说明:1)源程序中不得出现package关键字;2)程序中的第一个大括号“”必须位于类名所在行。3)类名与变量名由编程者自取。4)指明为整数或整数的数据,不要用浮点类型。输入输出示例:括号内为说明输入:2 (n=2,后面将输入2组数据和对应的x) 1 2 4 5 7 (第一组有序整数)3 (待插入整数x=3)1 2 5 7 9
12、(第二组有序整数)-10 (待插入整数x=-10)输出(输出的每个数后有一个空格,每组数占一行):1 2 3 4 5 7 (插入后的第一组6个有序数)-10 1 2 5 7 9 (插入后的第二组6个有序数)import java.util.Scanner;public class Test60006 public static void main(String args)int ri,n;int a,x,i,j;Scanner in=new Scanner(System.in);n=in.nextInt();for(ri=1; ri=n; ri+)a=new int6;/增加一个元素,保存插入
13、的整数for(i=0; i5; i+) /i5可写成:ia.length-1ai=in.nextInt(); x=in.nextInt();/1.找到插入点 ifor(i=0;i=x) break;/如果插入到最后面,循环正常结束,i=5/2.插入点及其后元素后移for(j=4;j=i;j-)/j=4可写成:j=a.length-2 aj+1=aj;/如果插入到最后面,i=5,不会执行该循环/3.插入整数ai=x;for(i=0; i0),做 n 次下列运算:输入6个整数,将它们存入数组 a 中,再输入一个整数 x,然后在数组 a 中查找与 x 相同的元素,如果找到,输出 x 在数组 a 中对
14、应元素的最小下标,如果没有找到,输出相应信息。说明:1)源程序中不得出现package关键字;2)程序中的第一个大括号“”必须位于类名所在行。3)类名与变量名由编程者自取。4)指明为整数或整数的数据,不要用浮点类型。输入输出示例:括号内为说明输入:2(n=2,后面将分别输入2批数据和相应的x)1 3 5 7 9 5 (第一批数据)5 (x=5)1 3 5 7 0 6 (第二批数据)2 (x=2)输出:(西文冒号,除了not和found之间有1空格,其他无空格)5:a22:not foundimport java.util.Scanner;public class Test60007public
15、 static void main(String args)int ri,n;int i,a;int x;a=new int6;Scanner in=new Scanner(System.in);n=in.nextInt();for(ri=1; ri=n; ri+)for(i=0;ia.length;i+)ai=in.nextInt();x=in.nextInt();for(i=0;ia.length;i+)/按顺序找 x,找到就结束循环if(ai=x) break;if(ia.length) /输出System.out.println(x+:a+i+);elseSystem.out.println(x+:not found);专心-专注-专业