浙江大学java上机参考答案.docx

上传人:b****7 文档编号:15380196 上传时间:2023-07-04 格式:DOCX 页数:97 大小:40.97KB
下载 相关 举报
浙江大学java上机参考答案.docx_第1页
第1页 / 共97页
浙江大学java上机参考答案.docx_第2页
第2页 / 共97页
浙江大学java上机参考答案.docx_第3页
第3页 / 共97页
浙江大学java上机参考答案.docx_第4页
第4页 / 共97页
浙江大学java上机参考答案.docx_第5页
第5页 / 共97页
浙江大学java上机参考答案.docx_第6页
第6页 / 共97页
浙江大学java上机参考答案.docx_第7页
第7页 / 共97页
浙江大学java上机参考答案.docx_第8页
第8页 / 共97页
浙江大学java上机参考答案.docx_第9页
第9页 / 共97页
浙江大学java上机参考答案.docx_第10页
第10页 / 共97页
浙江大学java上机参考答案.docx_第11页
第11页 / 共97页
浙江大学java上机参考答案.docx_第12页
第12页 / 共97页
浙江大学java上机参考答案.docx_第13页
第13页 / 共97页
浙江大学java上机参考答案.docx_第14页
第14页 / 共97页
浙江大学java上机参考答案.docx_第15页
第15页 / 共97页
浙江大学java上机参考答案.docx_第16页
第16页 / 共97页
浙江大学java上机参考答案.docx_第17页
第17页 / 共97页
浙江大学java上机参考答案.docx_第18页
第18页 / 共97页
浙江大学java上机参考答案.docx_第19页
第19页 / 共97页
浙江大学java上机参考答案.docx_第20页
第20页 / 共97页
亲,该文档总共97页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

浙江大学java上机参考答案.docx

《浙江大学java上机参考答案.docx》由会员分享,可在线阅读,更多相关《浙江大学java上机参考答案.docx(97页珍藏版)》请在冰点文库上搜索。

浙江大学java上机参考答案.docx

浙江大学java上机参考答案

一、求两个数的和与差。

程序填空,不要改变与输入输出有关的语句。

输入整数a和b,计算并输出a、b的和与差。

importjava.io.*;

importjava.util.Scanner;

publicclassTest20001{

publicstaticvoidmain(Stringargs[]){

inta,b,sum,diff;

Scannerin=newScanner(System.in);

a=in.nextInt();

b=in.nextInt();

/*------------------*/

sum=a+b;

diff=a-b;

System.out.println("Thesumis"+sum);

System.out.println("Thedifferenceis"+diff);

}

}

二、求平方根。

程序填空,不要改变与输入输出有关的语句。

输入1个实数x,计算并输出其平方根。

例:

输入1.21输出Thesquarerootof1.21is1.1

importjava.io.*;

importjava.util.Scanner;

publicclassTest20002{

publicstaticvoidmain(Stringargs[]){

doublex,root;

Scannerin=newScanner(System.in);

x=in.nextDouble();

/*------------------*/

root=Math.sqrt(x);

System.out.println("Thesquarerootof"+x+"is"+root);

}

}

三、华氏温度转换为摄氏温度。

程序填空,不要改变与输入输出有关的语句。

输入华氏温度f,计算并输出相应的摄氏温度c。

c=5/9(f-32).

例:

括号内是说明:

输入17.2(华氏温度)输出Thetempratureis-8.222222222222223

importjava.util.Scanner;

publicclassTest20003{

publicstaticvoidmain(String[]args){

Scannerin=newScanner(System.in);

doublef,c;

f=in.nextDouble();

/*------------------*/

c=5.0/9*(f-32);

System.out.println("Thetempratureis"+c);

}

}

四、计算旅途时间。

程序填空,不要改变与输入输出有关的语句。

输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。

有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。

例:

括号内是说明:

输入7121411(出发时间是7:

12,到达时间是14:

11)

输出Thetrainjourneytimeis6hrs59mins.

importjava.util.Scanner;

publicclassTest20004{

  publicstaticvoidmain(String[]args){

     Scannerin=newScanner(System.in);

     inttime1,time2,hours,mins;

     time1=in.nextInt();

     time2=in.nextInt();

   /*------------------*/

/*计算两个时间之间的小时数和分钟数*/

hours=time2/100-time1/100;

mins=time2%100-time1%100;

/*当计算得到的分钟数为负数时进行如下处理*/

hours=mins>0?

hours:

hours-1;

mins=mins>0?

mins:

mins+60;

System.out.println("Thetrainjourneytimeis"+hours+"hrs"+mins+"mins.");   

  }

}

 

五、数字加密。

程序填空,不要改变与输入输出有关的语句。

输入1个四位数,将其加密后输出。

方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。

例:

括号内是说明:

输入1257输出Theencryptednumberis4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)

importjava.util.Scanner;

publicclassTest20005{

  publicstaticvoidmain(String[]args){

     Scannerin=newScanner(System.in);

     intnumber,digit1,digit2,digit3,digit4,newnum;

     number=in.nextInt();

   /*------------------*/

/*先分离出各位上的数字*/

digit1=number/1000;(是这样来取得位数的)

digit2=number/100%10;//或digit2=(number-digit1*1000)/100;

digit3=number/10%10;//或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;

/*最后组成加密后的新数*/

newnum=digit3*1000+digit4*100+digit1*10+digit2;(注意这里是这样来实现交换的)

     System.out.println("Theencryptednumberis"+newnum);   

  }

}

 

六、大写字母转换成小写字母。

程序填空,不要改变与输入输出有关的语句。

输入一个大写英文字母,输出相应的小写字母。

例:

输入G输出g

importjava.io.*;

publicclassTest20006{

 publicstaticvoidmain(String[]args)throwsIOException{

   charch;

   ch=(char)System.in.read();

   /*------------------*/

ch=(char)(ch+32);

 

   System.out.println(ch);  

 }

}

七、计算三门课程的平均成绩。

程序填空,不要改变与输入输出有关的语句。

已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。

本题无输入。

输出示例:

math=87,eng=72,comp=93,average=84

publicclasstest20007{

publicstaticvoidmain(String[]args){

intmath,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

输入输出示例:

括号内为说明

输入100030.025(money=1000,year=3,rate=0.025)

输出interest=76.89

importjava.util.Scanner;

publicclasstest20008{

publicstaticvoidmain(String[]args){

intmoney,year;

doubleinterest,rate;

Scannerin=newScanner(System.in);

/*使用in.nextDouble()和in.nextInt()输入double和int型数据*/

/**********/

money=in.nextInt();

year=in.nextInt();

rate=in.nextDouble();

interest=money*Math.pow((1+rate),year)-money;

表示的是1+rate的year方幂

System.out.println("interest="+(int)(interest*100+0.5)/100.0);//保留两位小数

}

}

实验5分支结构程序的设计

一、显示两级成绩,程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat(0

输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。

输出使用System.out.println("Pass");及System.out.println("Fail");

例:

括号内是说明:

输入2(repeat=2)6059输出PassFail

importjava.util.Scanner;

publicclassTest30001{

publicstaticvoidmain(String[]args){

intri,repeat;

intmark;

Scannerin=newScanner(System.in);

repeat=in.nextInt();

for(ri=1;ri<=repeat;ri++){

mark=in.nextInt();

   /*------------------*/

if(mark<60)

System.out.println("Fail");

else

System.out.println("Pass");

}

}

}

二、找最小值,程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat(0

 

输入四个整数,输出其中的最小值。

例:

括号内是说明

输入

3(repeat=3)

126190

10403020

-1-3-4-5

输出

minis1(126190中的最小值是1)

minis10(10403020中的最小值是10)

minis-5(-1-3-4-5中的最小值是-5)

importjava.util.Scanner;

publicclassTest30002{

publicstaticvoidmain(String[]args){

intri,repeat;

inta,b,c,d,min;

Scannerin=newScanner(System.in);

repeat=in.nextInt();

for(ri=1;ri<=repeat;ri++){

a=in.nextInt();

b=in.nextInt();

c=in.nextInt();

d=in.nextInt();

   /*------------------*/

min=a;

if(min>b)min=b;

if(min>c)min=c;

if(min>d)min=d;

System.out.println("minis"+min);

}

}

}

三、求三角形的面积和周长,程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat(0

输入三角形的三条边a,b,c,如果能构成一个三角形,输出面积area和周长perimeter;否则,输出“Thesesidesdonotcorrespondtoavalidtriangle”。

在一个三角形中,任意两边之和大于第三边。

三角形的面积计算公式:

aere*area=s(s-a)(s-b)(s-c)

其中:

s=(a+b+c)/2

输出代码:

System.out.println("area="+(int)(area*100+0.5)/100.+";perimeter="+(int)(perimeter*100+0.5)/100.);

System.out.println("Thesesidesdonotcorrespondtoavalidtriangle");

例:

括号内是说明

输入

2(repeat=2)

553

114

输出

area=7.15;perimeter=13.0

Thesesidesdonotcorrespondtoavalidtriangle

importjava.util.Scanner;

publicclassTest30003{

publicstaticvoidmain(String[]args){

intri,repeat;

floata,b,c,area,perimeter,s;

Scannerin=newScanner(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="+(int)(area*100+0.5)/100.+";perimeter="+(int)(perimeter*100+0.5)/100.);

}

else

System.out.println("Thesesidesdonotcorrespondtoavalidtriangle");

}

}

}

四、判断数的符号,程序填空,不要改变与输入输出有关的语句。

输入整数x,若x大于0,y=1;若x等于0,y=0;否则,y=-1,最后输出y。

importjava.util.Scanner;

publicclassTest30004{

publicstaticvoidmain(String[]args){

intri,repeat;

intx,y;

Scannerin=newScanner(System.in);

repeat=in.nextInt();

for(ri=1;ri<=repeat;ri++){

x=in.nextInt();

   /*------------------*/

if(x>0)y=1;

elseif(x==0)y=0;

elsey=-1;

System.out.println(y);

}

}

}

if(x>0)

y=1;

if(x<0)

y=-1;

else

y=0;

(这样是错的。

这是为什么?

 

五、计算个人所得税,程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat(0

输入一个职工的月薪salary,输出应交的个人所得税tax。

tax=rate*(salary-850)

当salary<=850时,rate=0%;

当850

当1350

当2850

当5850

例:

括号内是说明

输入

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

importjava.util.Scanner;

publicclassTest30005{

publicstaticvoidmain(String[]args){

intri,repeat;

floatrate,salary,tax;

Scannerin=newScanner(System.in);

repeat=in.nextInt();

for(ri=1;ri<=repeat;ri++){

salary=in.nextFloat();

   /*------------------*/

if(salary<=850)

rate=0;

elseif(salary<=1350)

rate=0.05f;

elseif(salary<=2850)

rate=0.1f;

elseif(salary<=5850)

rate=0.15f;

else

rate=0.2f;

tax=rate*(salary-850);

System.out.println("tax="+(int)(tax*100+0.5)/100.0);

}

}

}

 

六、显示水果的价格,程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat(0

以下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

importjava.util.Scanner;

publicclassTest30006{

publicstaticvoidmain(String[]args){

intri,repeat;

intchoice;

floatprice;

Scannerin=newScanner(System.in);

repeat=in.nextInt();

for(ri=1;ri<=repeat;ri++){

System.out.println("[1]apples");

System.out.println("[2]pears");

System.out.println("[3]oranges");

System.out.println("[4]grapes");

choice=in.nextInt();

   /*------------------*/

switch(choice){

case1:

price=3.0f;break;

case2:

price=2.5f;break;

case3:

price=4.1f;break;

case4:

price=10.2f;break;

default:

price=0;}

System.out.println("price="+price);

}

}

}

七、字母转换,程序填空,不要改变与输入输出有关的语句。

输入一批以问号“?

”结束的字符,对“?

”以前的每一个字符,如果它是大写字母,输出相应的小写字母;如果它是小写字母,输出相应的大写字母;否则,原样输出。

importjava.io.*;

publicclassTest30007{

publicstaticvoidmain(String[]args)throwsIOException{

charch;

ch=(char)System.in.read();

while(ch!

='?

'){

   /*------------------*/

if('A'<=ch&&ch<='Z')

ch+=32;

elseif('a'<=ch&&ch<='z')//此处必须使用if结构的嵌套

ch-=32;

System.out.print(ch);

ch=(char)System.in.read();

}

}

}

实验6循环结构程序的设计

(一)

第8题可考虑放到下次再做

1.求1+1/2+1/3+……+1/n程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat(0

读入1个正整数n(n<=100),计算并输出1+1/2+1/3+……+1/n。

i=1;

i<=n;

sum=0;

do

{

i=i+1;

sum=sum+1/i;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2