浙大JAVA实验题答案10answer

上传人:xt****7 文档编号:145449913 上传时间:2022-08-29 格式:DOC 页数:8 大小:54KB
收藏 版权申诉 举报 下载
浙大JAVA实验题答案10answer_第1页
第1页 / 共8页
浙大JAVA实验题答案10answer_第2页
第2页 / 共8页
浙大JAVA实验题答案10answer_第3页
第3页 / 共8页
资源描述:

《浙大JAVA实验题答案10answer》由会员分享,可在线阅读,更多相关《浙大JAVA实验题答案10answer(8页珍藏版)》请在装配图网上搜索。

1、实验10 排序和二维数组的使用1. 程序填空题,不要改变与输入输出有关的语句。60005排序输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个正整数n,再输入n个整数,将它们从大到小排序后输出。例:括号内是说明输入3 (repeat=3) 4 5 1 7 63 1 2 35 5 4 3 2 1 输出7 6 5 1 3 2 15 4 3 2 1import java.util.Scanner;public class Test60005 public static void main(String args) int ri, repeat; int i, in

2、dex, k, n, temp,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(); /*-*/ for(i=0;in-1;i+) /选择法递减排序 index=i; for(k=i+1;kaindex) index=k; /找最大值的下标 if(i!=index) temp=ai;ai=aindex; aindex=temp; for(i=0; in; i

3、+) System.out.print(ai+ ); System.out.println(); 或: for(i=0;ia.length-1;i+) /冒泡法递减排序 for(k=0;ka.length-1-i;k+) if(akak+1) temp=ak;ak=ak+1;ak+1=temp; 60011矩阵运算输入一个正整数repeat (0repeat10),做repeat次下列运算:读入 1 个正整数 n(1n6), 再读入 n 阶方阵 a , 计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和.(副对角线为从矩阵的右上角至左下角的连线)例:括号内是说明输入:1 (repeat

4、=1)4 (n=4)2 3 4 15 6 1 17 1 8 11 1 1 1sum=35 (2+3+4+5+6+7+8=35)import java.util.Scanner;public class Test60011 public static void main(String args) int 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 intnn; for(i=0;

5、 in; i+) for(j=0;jn;j+) aij=in.nextInt(); /*-*/ sum=0; for(i=0; in-1; i+) /in-1 排除最后一行 for(j=0;jn-1;j+) /jn-1 排除最后一列 if(i+j)!=(n-1) sum+=aij; /非副对角线元素才加入 System.out.println(sum=+sum); 60012加法口诀表输入一个正整数repeat (0repeat10),做repeat次下列运算:输入 1 个正整数 n(1n10), 输出一张 20 以内的加法口诀表. 加数与被加数都不大于 n, 分列第一行和第一列.(将加数、被

6、加数、和放入一个二维数组中, 再输出该数组)例:括号内是说明输入:1 (repeat=1)3 (n=3)输出:+ 1 2 3 1 2 2 3 4 3 4 5 6 import java.util.Scanner;public class Test60012 public static void main(String args) int ri, repeat; int i,j,n,a=new int1010; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) n=in.nextIn

7、t(); /*-*/ for(i=1;i=n;i+) /给第0行和第0列所有元素赋值,a00不用赋值 a0i=i; /第0行为被加数,从第1列开始赋值1,2,.,n ai0=i; /第0列为加数,从第1行元素开始赋值1,2,.,n for(i=1;i=n;i+) /计算和,从第1行第1列开始 for(j=1;j=i;j+) aij=i+j; /或 aij=ai0+a0j; /所在行第0列元素+所在列第0行元素 for( i=0; i=n; i+ ) for( j=0; j=n; j+ ) if(i=0&j=0) System.out.print( + );/在第0行第0列上输出+ else i

8、f(i=0|j=i) System.out.print(aij+ ); /输出第0行和下三角阵各元素 System.out.println(); 60013判断上三角矩阵输入一个正整数repeat (0repeat10),做repeat次下列运算:输入1 个正整数 n (1n6)和n 阶方阵a中的元素,如果a是上三角矩阵, 输出YES, 否则, 输出NO。(上三角矩阵,即主对角线以下的元素都为0, 主对角线为从矩阵的左上角至右下角的连线)例:括号内是说明输入:2 (repeat=2)3 1 2 3 0 4 5 0 0 6 (n=3)2 1 0 -8 2 (n=2)输出:YES NOimport

9、 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(); a=new intnn for (i=0;in;i+) for (j=0;jn;j+) aij=in.nextInt(); /*-*/ flag=true; f

10、or(i=1;in;i+) /上三角矩阵中值为0的元素位置:行1n-1,列0i-1 for(j=0;ji;j+) if(aij!=0) flag=false;/若有一个元素非0,则不是上三角矩阵 if(flag) System.out.println(YES); else System.out.println(NO); 60014求矩阵每行元素之和输入一个正整数repeat (0repeat10),做repeat次下列运算:输入2 个正整数 m 和 n (1m, n),然后输入该m 行 n 列矩阵a中的元素,分别求出各行元素之和, 并存入一维数组row中, 再输出row.例:括号内是说明输入:

11、1 (repeat=1)3 2 (m=3, n=2)6 31 -83 12输出:sum of row 0 is 9sum of row 1 is -7sum of row 2 is 15import 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(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) m=in.

12、nextInt(); n=in.nextInt(); a=new intmn; row=new intm; for (i=0;im;i+) for (j=0;jn;j+) aij=in.nextInt(); /*-*/ for (i=0;im;i+) /rowi=0;/可以不写这句 for (j=0;jn;j+) rowi+=aij; /计算数组a的第i+1行元素之和, 存入数组row的第i+1个元素 for(i=0;im;i+) System.out.println(sum of row +i+ is +rowi); 60019找鞍点输入一个正整数repeat (0repeat10),做re

13、peat次下列运算:输入 1 个正整数 n和n 阶方阵a中的元素,如果找到a 的鞍点(鞍点的元素值在该行上最大, 在该列上最小), 就输出它的下标, 否则,输出NO(设a最多有1个鞍点)。例:括号内是说明输入:2 (repeat=2)4 1 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9 (n=4)2 1 7 4 1 (n=2)输出:a21=6NO import java.util.Scanner;public class Test60019 public static void main(String args) int ri, repeat; int i,j,k,row,col

14、,n,a; boolean flag; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) n=in.nextInt(); a=new intnn; for (i=0;in;i+) for (j=0;jn;j+) aij=in.nextInt(); /*-*/ flag=true; row=0; col=0;/不写这些,就通不过编译 for(i=0;in;i+) /先在第row行中找出该行的最大值arowcol row=i; /row保存最大值的行坐标 col=0; /col保存最大

15、值的列坐标,假设第i行第0列元素为最大 for(j=1;jarowcol) col=j; /再判断arowcol是否是第col列中的最小值 flag=true; for(k=0;kn;k+) if(akcol0),做 n 次下列运算:输入1个33的整数矩阵,将它们存入数组 a 中,交换其第一行和最后一行后,再以矩阵格式输出。矩阵中每个元素的输出参数为:aij+t说明:1)源程序中不得出现package关键字;2)程序中的第一个大括号“”必须位于类名所在行。3)类名与变量名由编程者自取。4)指明为整数或整数的数据,不要用浮点类型。输入输出示例:括号内为说明输入:2(n=2,后面将分别输入2个矩阵

16、)1 3 5 (第一个矩阵)7 9 5 8 9 07 3 5 (第二个矩阵)9 71 229 7 66输出:(每个数据后有一个制表符)890 (第一个矩阵输出)7951359766 (第二个矩阵输出)97122735import java.util.Scanner;public class Test60015public static void main(String args)int n,ri,i,j,a,temp;Scanner in=new Scanner(System.in);n=in.nextInt();for(ri=1;ri=n;ri+)a=new int33;for(i=0;i3;i+)for (j=0;j3;j+)aij=in.nextInt();for(j=0;j3;j+) /交换第一行(行号为0)和最后一行(行号为2)temp=a0j; a0j=a2j; a2j=temp;for(i=0;i3;i+)for(j=0;j3;j+)System.out.print(aij+t);System.out.println();

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!