收藏 分销(赏)

浙大java上机题全解.doc

上传人:人****来 文档编号:4892474 上传时间:2024-10-17 格式:DOC 页数:78 大小:155.50KB
下载 相关 举报
浙大java上机题全解.doc_第1页
第1页 / 共78页
浙大java上机题全解.doc_第2页
第2页 / 共78页
点击查看更多>>
资源描述
______________________________________________________________________________________________________________ 程序填空,不要改变与输入输出有关的语句。 输入1个实数x,计算并输出其平方根。 例: 输入 1.21 输出 The square root of 1.21 is 1.1 import java.io.*; import java.util.Scanner; public class Test20002{ public static void main(String args[]){ double x, root; Scanner in=new Scanner(System.in); x=in.nextDouble(); /*------------------*/ System.out.println("The square root of "+x+" is "+root); } } ______________________________________________________________________ 答案: import java.io.*; import java.util.Scanner; public class Test20002{ public static void main(String args[]){ double x, root; Scanner in=new Scanner(System.in); x=in.nextDouble(); /*------------------*/ root=Math.sqrt(x); System.out.println("The square root of "+x+" is "+root); } } 程序填空,不要改变与输入输出有关的语句。 输入华氏温度f,计算并输出相应的摄氏温度c。c = 5/9(f-32). 例:括号内是说明 输入 17.2 (华氏温度) 输出 The temprature is -8.222222222222223 import java.util.Scanner; public class Test20003 { public static void main(String[] args) { Scanner in=new Scanner(System.in); double f, c; f=in.nextDouble(); /*------------------*/ System.out.println("The temprature is "+c); } } ___________________________________________________________________ 答案: import java.util.Scanner; public class Test20003 { public static void main(String[] args) { Scanner in=new Scanner(System.in); double f, c; f=in.nextDouble(); /*------------------*/ c=5*(f-32.0)/9; System.out.println("The temprature is "+c); } } 程序填空,不要改变与输入输出有关的语句。 输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。 例:括号内是说明 输入 712 1411(出发时间是7:10,到达时间是14:11) 输出 The train journey time is 6 hrs 59 mins. import java.util.Scanner; public class Test20004 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int time1, time2, hours, mins; time1=in.nextInt(); time2=in.nextInt(); /*------------------*/ System.out.println("The train journey time is "+hours+" hrs "+ mins+" mins."); } } ______________________________________________________________________________ 答案: import java.util.Scanner; public class Test20004 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int time1, time2, hours, mins; time1=in.nextInt(); time2=in.nextInt(); /*------------------*/ time1=(time1/100)*60+time1%100; time2=(time2/100)*60+time2%100; hours=(time2-time1)/60; mins=(time2-time1)-hours*60; System.out.println("The train journey time is "+hours+" hrs "+ mins+" mins."); } } 程序填空,不要改变与输入输出有关的语句。 输入1个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。 例:括号内是说明 输入 1257 输出 The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601) import java.util.Scanner; public class Test20005 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int number, digit1, digit2, digit3, digit4, newnum; number=in.nextInt(); /*------------------*/ System.out.println("The encrypted number is "+newnum); } } ____________________________________________________________________________ 答案: import java.util.Scanner; public class Test20005 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int number, digit1, digit2, digit3, digit4, newnum; number=in.nextInt(); /*------------------*/ int temp; digit1=number/1000; digit2=(number-digit1*1000)/100; digit3=(number-digit1*1000-digit2*100)/10; digit4=number%10; digit1=(digit1+9)%10; digit2=(digit2+9)%10; digit3=(digit3+9)%10; digit4=(digit4+9)%10; temp=digit1; digit1=digit3; digit3=temp; temp=digit2; digit2=digit4; digit4=temp; newnum=digit1*1000+digit2*100+digit3*10+digit4; System.out.println("The encrypted number is "+newnum); } } 程序填空,不要改变与输入输出有关的语句。 输入一个大写英文字母,输出相应的小写字母。 例: 输入 G 输出 g import java.io.*; public class Test20006 { public static void main(String[] args) throws IOException { char ch; ch=(char)System.in.read(); /*------------------*/ System.out.println(ch); } } ______________________________________________________________________________ 答案: import java.io.*; public class Test20006 { public static void main(String[] args) throws IOException { char ch; ch=(char)System.in.read(); /*------------------*/ ch=(char)(ch+32); // 以ASCII码计算 System.out.println(ch); } } 程序填空,不要改变与输入输出有关的语句。 已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。 本题无输入。 输出示例: math = 87, eng = 72, comp = 93 average = 84 public class test20007 { public static void main(String[] args) { int math, eng, comp, average; /**********/ System.out.println("math = "+math+", eng = "+eng+", comp = "+comp); System.out.println("average = "+ average); } } ______________________________________________________________________________ 答案: public class test20007 { public static void main(String[] args) { int math, eng, comp, average; /**********/ math=87; eng=72; comp=93; average=(math+eng+comp)/3; System.out.println("math = "+math+", eng = "+eng+", comp = "+comp); System.out.println("average = "+ average); } } 程序填空,不要改变与输入输出有关的语句。 输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。 interest = money(1+rate)^year - money 输入输出示例:括号内为说明 输入 1000 3 0.025 (money = 1000, year = 3, rate = 0.025) 输出 interest = 76.89 import java.util.Scanner; public class test20008 { public static void main(String[] args) { int money, year; double interest, rate; Scanner in=new Scanner(System.in); /*使用in.nextDouble()和in.nextInt()输入double和int型数据*/ /**********/ System.out.println("interest = "+ (int)(interest*100+0.5)/100.0); } } _____________________________________________________________________________ 答案: import java.util.Scanner; public class test20008 { public static void main(String[] args) { int money, year; double interest, rate; Scanner in=new Scanner(System.in); /**********/ money=in.nextInt(); year=in.nextInt(); rate=in.nextDouble(); interest=money*Math.pow((1+rate),year)-money; System.out.println("interest = "+ (int)(interest*100+0.5)/100.0); } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。 输出使用System.out.println("Pass");及System.out.println("Fail"); 例:括号内是说明 输入 2 (repeat=2) 60 59 输出 Pass Fail import java.util.Scanner; public class Test30001{ public static void main(String[] args){ int ri, repeat; int mark; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ mark=in.nextInt(); /*------------------*/ } } } _________________________________________________________________________ 答案: import java.util.Scanner; public class Test30001{ public static void main(String[] args){ int ri, repeat; int mark; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ mark=in.nextInt(); /*------------------*/ if(mark>=60) System.out.println("Pass"); else System.out.println("Fail"); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入四个整数,输出其中的最小值。 例:括号内是说明 输入 3 (repeat=3) 12 6 1 90 10 40 30 20 -1 -3 -4 -5 输出 min is 1 (12 6 1 90 中的最小值是1) min is 10 (10 40 30 20 中的最小值是10) min is -5 (-1 -3 -4 -5中的最小值是-5) import java.util.Scanner; public class Test30002 { public static void main(String[] args){ int ri, repeat; int a, b, c, d, min; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ a=in.nextInt(); b=in.nextInt(); c=in.nextInt(); d=in.nextInt(); /*------------------*/ System.out.println("min is "+min); } } } ______________________________________________________________________ 答案: import java.util.Scanner; public class Test30002 { public static void main(String[] args){ int ri, repeat; int a, b, c, d, min; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ a=in.nextInt(); b=in.nextInt(); c=in.nextInt(); d=in.nextInt(); /*------------------*/ int m; min=Math.min(a, b); m=min; min=Math.min(m, c); m=min; min=Math.min(m, d); System.out.println("min is "+min); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入三角形的三条边a, b, c,如果能构成一个三角形,输出面积area和周长perimeter;否则,输出“These sides do not correspond to a valid triangle”。 在一个三角形中,任意两边之和大于第三边。 三角形的面积计算公式: aere*area = s(s-a)(s-b)(s-c) 其中:s = (a+b+c)/2 输出代码: System.out.println("area="+area+";perimeter="+perimeter); System.out.println("These sides do not correspond to a valid triangle"); 例:括号内是说明 输入 2 (repeat=2) 5 5 3 1 1 4 输出 area=7.154544;perimeter=13.0 These sides do not correspond to a valid triangle import java.util.Scanner; public class Test30003 { public static void main(String[] args){ int ri, repeat; float a, b, c, area, perimeter, s; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ a=in.nextFloat(); b=in.nextFloat(); c=in.nextFloat(); /*------------------*/ } } } --------------------------------------------------------------------------------------------------------------- 答案: import java.util.Scanner; public class Test30003 { public static void main(String[] args){ int ri, repeat; float a, b, c, area, perimeter, s; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ a=in.nextFloat(); b=in.nextFloat(); c=in.nextFloat(); /*------------------*/ if(a+b>c&&a+c>b&&b+c>a) { s=(a+b+c)/2; area=(float) Math.sqrt(s*(s-a)*(s-b)*(s-c)); perimeter=a+b+c; System.out.println("area="+area+";perimeter="+perimeter); } else System.out.println("These sides do not correspond to a valid triangle"); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入整数x,若x大于0,y=1;若x等于0,y=0;否则,y=-1,最后输出y。 例:括号内是说明 输入 3 (repeat=3) 2 -8 0 输出 1 (x=2时y=1) -1 (x=-8时y=-1) 0 (x=0时y=0) import java.util.Scanner; public class Test30004{ public static void main(String[] args){ int ri, repeat; int x, y; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ x=in.nextInt(); /*------------------*/ System.out.println(y); } } } -------------------------------------------------------------------------------------------------------------------- 答案: import java.util.Scanner; public class Test30004{ public static void main(String[] args){ int ri, repeat; int x, y; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ x=in.nextInt(); /*------------------*/ if(x>0) y=1; else if(x==0) y=0; else y=-1; System.out.println(y); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入一个职工的月薪salary,输出应交的个人所得税tax。 tax = rate * (salary-850) 当 salary <= 850 时,rate = 0%; 当 850 < salary <= 1350 时,rate = 5%; 当 1350 < salary <= 2850 时,rate = 10%; 当 2850 < salary <= 5850 时,rate = 15%; 当 5850 < salary 时,rate = 20%; 例:括号内是说明 输入 5 (repeat=5) 1010.87 32098.76 800 4010 2850 输出 tax=8.04 tax=6249.75 tax=0.0 tax=474.0 tax=200.0 import java.util.Scanner; public class Test30005 { public static void main(String[] args){ int ri, repeat; float rate, salary, tax; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ salary=in.nextFloat(); /*------------------*/ System.out.println("tax="+(int)(tax*100+0.5)/100.0); } } } ---------------------------------------------------------------------------------------------------------------- 答案: import java.util.Scanner; public class Test30005 { public static void main(String[] args){ int ri, repeat; float rate, salary, tax; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ salary=in.nextFloat(); /*------------------*/ if(salary<850) tax=0; else { if(850<salary&&salary<=1350) { rate=0.05f; tax = rate * (salary-850); } else{ if(salary>1350&&salary<=2850) { rate=0.1f; tax = rate * (salary-850); } else{ if(salary>2850&&salary<=5850) { rate=0.15f; tax = rate * (salary-850); } else { rate=0.2f; tax = rate * (salary-850); } } } } System.out.println("tax="+(int)(tax*100+0.5)/100.0); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤,10.20元/公斤。 [1] apples [2] pears [3] oranges [4] grapes 输入水果的编号,输出该水果的单价。如果输入不正确的编号,显示单价为0。 例:括号内是说明 输入 1 (repeat=1) 3 (oranges的编号) 输出 [1] apples [2] pears [3] oranges [4] grapes price=4.1 import java.util.Scanner; public class Test30006{ public static void main(String[] args){ int ri, repeat; int choice; float price; Scanner in=new Scanner(System.in); repeat=in.nex
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服