mooc零基础学习java语言习题答案Word文件下载.docx

上传人:b****3 文档编号:7014115 上传时间:2023-05-07 格式:DOCX 页数:38 大小:29.32KB
下载 相关 举报
mooc零基础学习java语言习题答案Word文件下载.docx_第1页
第1页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第2页
第2页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第3页
第3页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第4页
第4页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第5页
第5页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第6页
第6页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第7页
第7页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第8页
第8页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第9页
第9页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第10页
第10页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第11页
第11页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第12页
第12页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第13页
第13页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第14页
第14页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第15页
第15页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第16页
第16页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第17页
第17页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第18页
第18页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第19页
第19页 / 共38页
mooc零基础学习java语言习题答案Word文件下载.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

mooc零基础学习java语言习题答案Word文件下载.docx

《mooc零基础学习java语言习题答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《mooc零基础学习java语言习题答案Word文件下载.docx(38页珍藏版)》请在冰点文库上搜索。

mooc零基础学习java语言习题答案Word文件下载.docx

现在,你的程序要读入一个整数,表示BJT的时和分。

整数的个位和十位表示分,百位和千位表示小时。

如果小时小于10,则没有千位部分;

如果小时是0,则没有百位部分;

如果分小于10分,需要保留十位上的0。

如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分。

有效的输入范围是0到2359,即你的程序不可能从测试服务器读到0到2359以外的输入数据。

你的程序要输出这个时间对应的UTC时间,输出的格式和输入的相同,即输出一个整数,表示UTC的时和分。

提醒:

要小心跨日的换算。

一个整数,表示BJT的时和分。

如果小时不是0而且分小于10分,需要保留十位上的0。

一个整数,表示UTC的时和分。

933

133

intUTC;

intBJT;

intm,h;

BJT=in.nextInt();

m=BJT%100;

h=BJT/100-8;

if(BJT>

=0&

&

h<

24&

m<

60)

{

if(h<

0)

UTC=(24+h)*100+m;

}

else

UTC=h*100+m;

System.out.println(UTC);

2信号报告(5分)

无线电台的RS制信号报告是由三两个部分组成的:

R(Readability)信号可辨度即清晰度.

S(Strength) 

 

信号强度即大小.

其中R位于报告第一位,共分5级,用1—5数字表示.

1---Unreadable

2---Barelyreadable,occasionalwordsdistinguishable

3---Readablewithconsiderabledifficulty

4---Readablewithpracticallynodifficulty

5---Perfectlyreadable

报告第二位是S,共分九个级别,用1—9中的一位数字表示

1---Faintsignals,barelyperceptible

2---Veryweaksignals

3---Weaksignals

4---Fairsignals

5---Fairlygoodsignals

6---Goodsignals

7---Moderatelystrongsignals

8---Strongsignals

9---Extremelystrongsignals

现在,你的程序要读入一个信号报告的数字,然后输出对应的含义。

如读到59,则输出:

Extremelystrongsignals,perfectlyreadable.

一个整数,信号报告。

整数的十位部分表示可辨度,个位部分表示强度。

输入的整数范围是[11,59]内有效的数字,这个范围外的数字不可能出现在测试数据中。

一句话,表示这个信号报告的意义。

按照题目中的文字,先输出表示强度的文字,跟上逗号和空格,然后是表示可辨度的文字,跟上句号。

注意可辨度的句子的第一个字母是小写的。

注意这里的标点符号都是英文的。

33

Weaksignals,readablewithconsiderabledifficulty.

intRS;

intS,R;

RS=in.nextInt();

if(RS>

=11&

RS<

=59)

S=RS/10;

R=RS%10;

switch(R)

{

case1:

System.out.print("

Faintsignals,barelyperceptible,"

);

break;

case2:

Veryweaksignals,"

case3:

Weaksignals,"

case4:

Fairsignals,"

case5:

Fairlygoodsignals,"

case6:

Goodsignals,"

case7:

Moderatelystrongsignals,"

case8:

Strongsignals,"

case9:

Extremelystrongsignals,"

}

switch(S)

unreadable."

barelyreadable,occasionalwordsdistinguishable."

readablewithconsiderabledifficulty."

readablewithpracticallynodifficulty."

perfectlyreadable."

第三周

1奇偶个数(5分)

你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。

程序输出读到的数据中的奇数和偶数的个数。

一系列正整数,整数的范围是(0,100000)。

如果输入-1则表示输入结束。

两个整数,第一个整数表示读入数据中的奇数的个数,第二个整数表示读入数据中的偶数的个数。

两个整数之间以空格分隔。

934257-1 

42

intm;

intn=0;

intt=0;

m=in.nextInt();

while(m!

=-1)

if(m%2==1)

n=n+1;

else

t=t+1;

System.out.println(n+"

"

+t);

2数字特征值(5分)

对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值。

对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。

这个整数在第n位上的数字记作x,如果x和n的奇偶性相同,则记下一个1,否则记下一个0。

按照整数的顺序把对应位的表示奇偶性的0和1都记录下来,就形成了一个二进制数字。

比如,对于342315,这个二进制数字就是001101。

这里的计算可以用下面的表格来表示:

数字

3

4

2

1

5

数位

6

数字奇偶

数位奇偶

奇偶一致

二进制位值

32

16

8

按照二进制位值将1的位的位值加起来就得到了结果13。

你的程序要读入一个非负整数,整数的范围是[0,100000],然后按照上述算法计算出表示奇偶性的那个二进制数字,输出它对应的十进制值。

提示:

将整数从右向左分解,数位每次加1,而二进制值每次乘2。

一个非负整数,整数的范围是[0,1000000]。

一个整数,表示计算结果。

342315

13

intn;

ints=1;

intsum=0;

intf=0;

if(m>

=1000000)

while(m!

=0)

intp;

n=m%10;

if(n%2==s%2)

p=1;

p=0;

s=s+1;

//sum=sum+1;

f=(int)(f+p*Math.pow(10,s-2));

m=m/10;

while(f!

intp;

p=f%10;

sum=(int)(sum+p*Math.pow(2,t));

t=t+1;

f=f/10;

System.out.println(sum);

第四周

1素数和(5分)

我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。

现在,给定两个整数n和m,0<

n<

=m<

=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

注意,是第n个素数到第m个素数之间的所有的素数,并不是n和m之间的所有的素数。

两个整数,第一个表示n,第二个表示m。

一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

24

15

publicintIsOrNotprime(intx){

intj;

n=x/2;

for(j=2;

j<

=n;

j++){

if(x%j==0)

return0;

return1;

inti;

intj=0;

n=in.nextInt();

Mains=newMain();

if(n>

0&

=m&

=200)

for(i=2;

i<

=1000000;

i++)

if(s.IsOrNotprime(i)==1)

j=j+1;

if(j>

=n&

=m)

{

sum=sum+i;

}

if(j==m)

break;

2念整数(5分)

你的程序要读入一个整数,范围是[-100000,100000]。

然后,用汉语拼音将这个整数的每一位输出出来。

如输入1234,则输出:

yiersansi

注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。

当遇到负数时,在输出的开头加上“fu”,如-2341输出为:

fuersansiyi

一个整数,范围是[-100000,100000]。

表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。

-30

fusanling

publicstaticvoidmain(String[]args){

Scannerin=newScanner(System.in);

intn=in.nextInt();

intcount=0;

intisZheng=0;

intv=0;

inttotal=n;

intisZero=0;

intisPut=1;

if(n>

=-100000&

=100000)

{

if(n<

isZheng=1;

n=-n;

elseif(n==0)

System.out.print("

ling"

if(isZheng==1)

fu"

+"

while(total!

total/=10;

count++;

for(inti=count;

count>

0;

count--)

intmid=1;

for(intj=1;

count;

j++)

mid*=10;

if(isZero==1)

v=n/mid;

n%=mid;

if(v==0&

count==1)

v=n;

isPut=0;

isZero=1;

switch(v)

case0:

continue;

case1:

yi"

case2:

er"

case3:

san"

case4:

si"

case5:

wu"

case6:

liu"

case7:

qi"

case8:

ba"

case9:

jiu"

第五周

1多项式加法(5分)

一个多项式可以表达为x的各次幂与系数乘积的和,比如:

2x6+3x5+12x3+6x+20

现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出。

程序要处理的幂最大为100。

总共要输入两个多项式,每个多项式的输入格式如下:

每行输入两个数字,第一个表示幂次,第二个表示该幂次的系数,所有的系数都是整数。

第一行一定是最高幂,最后一行一定是0次幂。

注意第一行和最后一行之间不一定按照幂次降低顺序排列;

如果某个幂次的系数为0,就不出现在输入数据中了;

0次幂的系数为0时还是会出现在输入数据中。

从最高幂开始依次降到0幂,如:

2x6+3x5+12x3-6x+20

注意其中的x是小写字母x,而且所有的符号之间都没有空格,如果某个幂的系数为0则不需要有那项。

62

53

312

16

020

212

4x6+6x5+12x3+12x2+12x+40

publicclassMain{

publicstaticvoidmain(String[]args){

Scannerin=newScanner(System.in);

int[]array=newint[101];

intmax=0;

inttimes=0;

while(in.hasNext()){

intx=in.nextInt();

intnum=in.nextInt();

array[x]+=num;

if(x==0){

times++;

if(times==2){

for(intj=0;

j<

array.length;

if(array[j]!

=0){

if(j>

max){

max=j;

}

for(inti=max;

i>

0;

i--){

if(array[i]>

0){

if(i!

=max){

System.out.print("

}

if(array[i]!

=1){

System.out.print(array[i]);

System.out.print("

x"

//幂次为1时不用输出幂次

System.out.print(i);

}

}elseif(array[i]<

=-1){

}else{

-"

}

}

if(max==0){

System.out.print(array[0]);

}else{

//最高幂>

0,正系数先输出+

if(array[0]>

第六周

1单词长度(5分)

你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.

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

当前位置:首页 > 解决方案 > 学习计划

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

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