浙大Java语言程序设计编程答案12.doc

上传人:wux****ua 文档编号:9045503 上传时间:2020-04-02 格式:DOC 页数:6 大小:73.51KB
返回 下载 相关 举报
浙大Java语言程序设计编程答案12.doc_第1页
第1页 / 共6页
浙大Java语言程序设计编程答案12.doc_第2页
第2页 / 共6页
浙大Java语言程序设计编程答案12.doc_第3页
第3页 / 共6页
点击查看更多>>
资源描述
实验13 未做和选做题1. 求一元二次方程的根输入一个正整数repeat (0repeat10),做repeat次下列运算:输入参数a,b,c,求一元二次方程a*x*xb*xc0的根,结果保留2位小数(如果答案为3.50,则直接显示为3.5)。按情况分别输出以下内容(文字中的标点为西文标点,无空格。括号内为说明):(1)a=b=c=0,meaningless(2)a=b=0,c!=0,error(3)x=值 (值为-c/b)(4)x1=值1 (值1为(-b+Math.sqrt(d)/(2*a)) x2=值2 (值2为(-b-Math.sqrt(d)/(2*a))(5)x1=值1+值2i x2=值1-值2i (值1为-b/(2*a),值2为Math.sqrt(-d)/(2*a))输入输出示例:括号内为说明输入:5 (repeat=5)0 0 0 (a=0,b=0,c=0)0 0 1 (a=0,b=0,c=1)0 2 5 (a=0,b=2,c=5)21 89 35 (a=21,b=89,c=35)2 2 3 (a=2,b=2,c=3)输出:a=b=c=0,meaninglessa=b=0,c!=0,errorx=-2.5x1=-0.44x2=-3.8x1=-0.5+1.12ix2=-0.5-1.12iimport java.util.Scanner;public class Test30009 public static void main(String args) int repeat, ri; int a,b,c,d; double x1,x2; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri = 1; ri =0) x1=(-b+Math.sqrt(d)/(2*a); x2=(-b-Math.sqrt(d)/(2*a); System.out.println(x1=+Math.round(x1*100)/100.0); System.out.println(x2=+Math.round(x2*100)/100.0); else x1=-(double)b/(2*a); x2=Math.sqrt(-d)/(2*a); System.out.println(x1=+Math.round(x1*100)/100.0+Math.round(x2*100)/100.0+i); System.out.println(x2=+Math.round(x1*100)/100.0+-+Math.round(x2*100)/100.0+i); 说明:为防止出错,在编程前应考虑周全 当a=b=c=0时,方程有无数解; 当a=b=0,c!=0时,方程无解; 当a=0,b!=0时,方程解为x=-c/b; 当a!=0时,求:d=b*b-4*a*c若d=0,有两个不同实根:x=(-bMath.sqrt(d)/(2*a)若d=0) x1=(-b+Math.sqrt(d)/(2*a); x2=(-b-Math.sqrt(d)/(2*a); System.out.println(x1=+Math.round(x1*100)/100.0); System.out.println(x2=+Math.round(x2*100)/100.0); else x1=-(double)b/(2*a); x2=Math.sqrt(-d)/(2*a); System.out.println(x1=+Math.round(x1*100)/100.0+Math.round(x2*100)/100.0+i); System.out.println(x2=+Math.round(x1*100)/100.0+-+Math.round(x2*100)/100.0+i); 2. 输出mn之间的所有闰年(未做)输入一个repeat(1repeat10),做repeat次下列运算:输入正整数m和n(1900=m=n=2100),分别代表年份的起止值,输出该范围内所有的闰年。判断闰年的条件是:能被 4 整除但不能被 100 整除,或者能被 400 整除。输出使用语句 System.out.println(year);输入输出示例:括号内是说明输入:22000 20172030 2040输出20002004200820122016203220362040import java.util.Scanner;public class Test40034 public static void main(String args) int year,m,n,repeat,ri; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1;ri=repeat;ri+) m=in.nextInt(); n=in.nextInt(); /*-*/ for(year=m;year=n;year+) if(year%4=0&year%100!=0)|year%400=0) System.out.println(year); 3. 简单计算器(选做) 40033输入一个正整数repeat (0repeat10),做repeat次下列运算:程序模拟简单运算器的工作:输入一个算式,遇等号=说明输入结束,输出结果。假设计算器只能进行加减乘除运算,运算数和结果都是整数,4种运算符的优先级相同,按从左到右的顺序计算。例:括号内是说明输入2 (repeat=2)15 + 2 / 3 = (数字与运算符之间有一空格)1 + 2 * 10 - 10 / 2 = (数字与运算符之间有一空格)输出510 import java.util.Scanner;public class T40033 public static void main(String args) int ri, repeat; int op1, op2, res; char operator; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) op1=in.nextInt(); operator=(in.next().charAt(0); /*-*/res=op1;while(operator!=) op2=in.nextInt();switch(operator) case +: res+=op2;break;case -: res-=op2;break;case *: res*=op2;break;case /: res/=op2;break;operator=(in.next().charAt(0); System.out.println(res); 4. 找鞍点(选做)输入一个正整数repeat (0repeat10),做repeat次下列运算:输入 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,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+) /先在第i行中找出该行的最大值 row=i; /row保存最大值的行坐标 col=0; /col保存最大值的列坐标,假设第i行第0列元素为最大 for(j=1;jarowcol) col=j; /再判断arowcol是否是第col列中的最小值 flag=true; for(k=0;kn;k+) if(akcolarowcol) flag=false; break; /若有比arowcol小的,可知它不是鞍点,可结束循环 if(flag)break; /找到1个鞍点后就不用再找了 if(flag) System.out.println(a+row+col+=+arowcol); else System.out.println(NO);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


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

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


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