最新浙大JAVA-试验题答案10answer_第1页
最新浙大JAVA-试验题答案10answer_第2页
最新浙大JAVA-试验题答案10answer_第3页
最新浙大JAVA-试验题答案10answer_第4页
最新浙大JAVA-试验题答案10answer_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 13 2 15 4 3 2 1import java.util.Sca nner;public class Test60005public static void main( Stri ng args) int ri, repeat;int i,

2、 i ndex, k, n, temp,a;Scanner in=new Scann er(System.i n); repeat=in.n extI nt();for(ri=1; ri=repeat; ri+) n=in.n extI nt(); a=new in t n;for(i=0; in; i+)ai=i n.n extI nt();for (i=0;in-1;i+) II选择法递减排序in dex=i;for (k=i+1;kaindex) index=k;II 找最大值的下标if (i!=index)temp=ai;ai=ai ndex; ai ndex=temp;for(i=0

3、; in; i+)System.out.pri nt(ai+);System.out.pri ntl n();或: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(1 n 6),再读入n阶方阵a ,计算该矩阵除副对角线、最后一列和最后一 行以外的所有元素之和.(副对角线为从矩阵的右上角至左下角的连线)例:括号内是说明输入:1 (re

4、peat=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.Sca nner;public class Test60011public static void main( Stri ng args)int ri, repeat;int a,i,j, n,sum;Scanner in=new Scann er(System.i n);repeat=in.n extI nt();for(ri=1; ri=repeat; ri+)n=in.n extI nt();a=n ew in t nn;

5、for(i=0; in; i+)for(j=0;j n;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(1 n 10),输出一张20以内的加法口诀表.加数与被加数都不大于n,分列第一行和第一列 .( 将加数、被加数、和

6、放入一个二维数组中 , 再输出该数组 )例:括号内是说明输入:1 (repeat=1)3 (n=3)输出 :+ 1 2 31 22 3 43 4 5 6 import java.util.Scanner;public class Test60012public 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.nextInt();for

7、(i=1;i=n;i+) / 给第0行和第 0列所有元素赋值 ,a00不用赋值a0i=i; / 第0行为被加数 , 从第1列开始赋值 1,2,.,nai0=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+a 0j;/ 所在行第 0列元素+所在列第 0行元素for( i=0; i=n; i+ )for( j=0; j=n; j+ ) if(i=0&j=0) System.out.print( + ); / 在第 0 行第 0 列上输出 + el

8、se if(i=0|j=i) System.out.print(aij+ );/ 输出第 0 行和下三角阵各元素System.out.println();60013 判断上三角矩阵 输入一个正整数 repeat (0repeat10) ,做 repeat 次下列运算:输入1个正整数n (1 n 6)和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 NO

9、import java.util.Scanner;public class Test60013public 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 intnnfor (i=0;in;i+)for (j=0;jn;j+)aij=in.nextInt();flag=true;for(i=1;in;i+)

10、/上三角矩阵中值为0的元素位置:行1n-1,列0i-1for(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 (1 m, n),然后输入该m行n列矩阵a中的元素,分别求出 各行元素之和 , 并存入一维数组 row 中 , 再输出 row.例:括号内是说明输入:1 (repeat=1

11、)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 Test60014public 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.nextInt(); n=in

12、.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) ,做 repeat 次下列运算: 输入 1 个正整数 n

13、 和 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 Test60019public static void main( Stri ng args) int ri, repeat;int i,j,k,row,col, n,a; boolea n

14、flag;Scanner in=new Scann er(System.i n); repeat=in.n extI nt();for(ri=1; ri=repeat; ri+)n=in.n extI nt();a=n ew in t nn;for (i=0;i n ;i+) for (j=0;j n ;j+) aij=i n.n extI nt();flag=true ; row=0; col=0;II不写这些,就通不过编译for (i=0;ivn;i+)II先在第row行中找出该行的最大值 arowcolrow=i;I/row保存最大值的行坐标col=0;IIcol保存最大值的列坐标,假设

15、第i行第0列元素为最大for (j=1;jarowcol) col=j;II再判断arowcol是否是第col列中的最小值flag= true ;for (k=0;kn;k+)if (akcol0) ,做 n 次下列运算:输入1个3X3的整数矩阵,将它们存入数组a中,交换其第一行和最后一行后,再以矩阵格式输出。矩阵中每个元素的输出参数为: aij+t说明:1 )源程序中不得出现 package 关键字;2)程序中的第一个大括号“ ”必须位于类名所在行3)类名与变量名由编程者自取。4)指明为整数或整数的数据,不要用浮点类型。输入输出示例:括号内为说明输入:2(n=2,后面将分别输入2个矩阵)1 3 5( 第一个矩阵 )7 9 58 9 07 3 5( 第二个矩阵 )9 71 229 7 66 输出:(每个数据后有一个制表符)8 90(第一个矩阵输出 )7951359 766(第二个矩阵输出 )97122735 import 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

温馨提示

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

评论

0/150

提交评论