浙大JAVA 实验题答案10answer
更新时间:2024-03-30 07:31:01 阅读量: 综合文库 文档下载
- 浙大java实验题答案推荐度:
- 相关推荐
实验10 排序和二维数组的使用
1. 程序填空题,不要改变与输入输出有关的语句。
60005 排序
输入一个正整数repeat (0 例:括号内是说明 输入 3 (repeat=3) 4 5 1 7 6 3 1 2 3 5 5 4 3 2 1 输出 7 6 5 1 3 2 1 5 4 3 2 1 import java.util.Scanner; public class Test60005{ public static 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 for(i=0;i for(k=i+1;k if(a[k]>a[index]) index=k; //找最大值的下标 } if(i!=index){ temp=a[i];a[i]=a[index]; a[index]=temp; } } for(i=0; i System.out.print(a[i]+\ System.out.println(); } } } 或: for(i=0;i temp=a[k];a[k]=a[k+1];a[k+1]=temp; } } } 60011 矩阵运算 输入一个正整数repeat (0 读入 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){ 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 int[n][n]; for(i=0; i a[i][j]=in.nextInt(); /*---------*/ sum=0; for(i=0; i if((i+j)!=(n-1)) sum+=a[i][j]; //非副对角线元素才加入 } System.out.println(\ } } } 60012 加法口诀表 输入一个正整数repeat (0 输入 1 个正整数 n(1≤n≤10), 输出一张 20 以内的加法口诀表. 加数与被加数都不大于 n, 第一行和第一列.(将加数、被加数、和放入一个二维数组中, 再输出该数组) 例:括号内是说明 输入: 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 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;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列元素+所在列第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(); } } } } 60013 判断上三角矩阵 输入一个正整数repeat (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 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(); a=new int[n][n] for (i=0;i a[i][j]=in.nextInt(); /*---------*/ flag=true; for(i=1;i if(a[i][j]!=0) flag=false;//若有一个元素非0,则不是上三角矩阵 if(flag) System.out.println(\ else System.out.println(\ } } } 60014 求矩阵每行元素之和 输入一个正整数repeat (0 输入2 个正整数 m 和 n (1≤m, n),然后输入该m 行 n 列矩阵a中的元素,分别求出 各行元素之和, 并存入一维数组row中, 再输出row. 例:括号内是说明 输入: 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(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 a[i][j]=in.nextInt(); /*---------*/ for (i=0;i //row[i]=0; //可以不写这句 for (j=0;j row[i]+=a[i][j]; //计算数组a的第i+1行元素之和, 存入数组row的第i+1个元素 for(i=0;i System.out.println(\ } } } 60019 找鞍点 输入一个正整数repeat (0 输入 1 个正整数 n和n 阶方阵a中的元素,如果找到a 的鞍点(鞍点的元素值在该行上最大, 在该列上最小), 就输出它的下标, 否则,输出\(设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) 输出: a[2][1]=6 NO import java.util.Scanner; public 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]; for (i=0;i a[i][j]=in.nextInt(); /*---------*/ flag=true; row=0; col=0;//不写这些,就通不过编译 for(i=0;i //先在第row行中找出该行的最大值a[row][col] row=i; //row保存最大值的行坐标 col=0; //col保存最大值的列坐标,假设第i行第0列元素为最大 for(j=1;j if(a[row][j]>a[row][col]) col=j; } //再判断a[row][col]是否是第col列中的最小值 flag=true; for(k=0;k if(a[k][col] break; //若有比a[row][col]小的,可知它不是鞍点,可结束循环 } } if(flag)break; //找到1个鞍点后就不用再找了 } if(flag) System.out.println(\ else System.out.println(\ } } } 2. 编程题 60015 编程:交换矩阵中的两行 编程,输入一个正整数 n (n>0),做 n 次下列运算: 输入1个3×3的整数矩阵,将它们存入数组 a 中,交换其第一行和最后一行后,再以矩阵格式输出。 矩阵中每个元素的输出参数为:a[i][j]+\ 说明: 1)源程序中不得出现package关键字; 2)程序中的第一个大括号“{”必须位于类名所在行。 3)类名与变量名由编程者自取。 4)指明为整数或整数的数据,不要用浮点类型。 输入输出示例:括号内为说明 输入: 2 (n=2,后面将分别输入2个矩阵) 1 3 5 (第一个矩阵) 7 9 5 8 9 0 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); 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]+\); System.out.println(); }
正在阅读:
浙大JAVA 实验题答案10answer03-30
员工自保、互保、联保责任书05-29
药品经营企业变更示范文本讲解05-19
作文开头和结尾歌07-09
Schrdinger equation 薛定谔方程03-15
初中物理电路故障分析判断专题04-13
芭比公主的自述作文350字06-16
开展读书活动总结多篇【精选】08-01
大班幼儿线描画目标要求05-22
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 浙大
- 10answer
- 答案
- 实验
- JAVA
- 适合0至3岁的儿童毛绒玩具有哪些? - 图文
- 冲刺实验班甘肃西北师大附中2019中考提前自主招生数学模拟试卷(6
- 全国城镇天气预报质量检验方案
- 2015年度揭西县龙腾五金塑胶有限公司销售收入与资产数据报告 -
- 2017-2018学年江苏省苏州市高一下学期学业质量阳光指标调研英语
- 综合录井级理论考试题库
- 江苏省无锡市2017-2018学年高一下学期期末考试 语文 Word版含答
- 范仲淹诗词中的民本思想
- 教师职业道德的自我修养专题讲座
- 社区党组织发挥领导核心作用的
- 合同法综合练习+期未指导+历年试卷单项选择
- 2019年债转股合同协议书范本
- 江南地区的 开发教案文档
- 船用油水分离器的检查维护及常见故障的排除
- 2015级中高职贯通人才培养方案制定原则性意见
- 沙湾地税文化建设的实践与思考
- 政治经济学练习册计算题答案
- 建设银行银行保理业务
- 11104回风联络巷掘进作业规程
- 工程质量保修协议书(户外工程分包)(2)