




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一周温度转换( 5 分)题目内容:写一个将华氏温度转换成摄氏温度的程序,转换的公式是: ° F = (9/5)*° C + 32其中 C 表示摄氏温度, F 表示华氏温度。程序的输入是一个整数,表示华氏温度。输出对应的摄氏温度, 也是一个整数。提示,为了把计算结果的浮点数转换成整数,需要使用下面的表达式: (int)x; 其中 x 是要转换的那个浮点数。注意:除了题目要求的输出,不能输出任何其他内容,比如输入时的提示,输出时的说明等等都不能。这 道题目要求转换后的数字,程序就只能输出这个数字,除此之外任何内容都不能输出。输入格式 : 一个整数。 输出格式: 一个整数。 输
2、入样例: 100输出样例:37程序代码import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stub int F;int C;Scanner in=new Scanner(System.in);F =in.nextInt();C =(F-32)*5/9;System.out.println(C);in.close();第二周1 时间换算( 5 分)题目内容:UTC 是世界协调时, BJT是北京时间, UTC 时间相当于 BJT 减去
3、 8。现在,你的程序要读入一个整数,表 示 BJT 的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10 ,则没有千位部分;如果小时是 0,则没有百位部分;如果分小于 10 分,需要保留十位上的 0 。如 1124 表示 11 点 24 分,而 905表示 9点5分,36 表示 0点36分,7表示 0点7分。有效的输入范围是 0 到 2359 ,即你的程序不可能从测试服务器读到0 到 2359 以外的输入数据。你的程序要输出这个时间对应的 UTC 时间,输出的格式和输入的相同,即输出一个整数,表示 UTC 的时 和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于1
4、0 ,则没有千位部分;如果小时是0,则没有百位部分;如果分小于 10 分,需要保留十位上的 0 。提醒:要小心跨日的换算。输入格式 :一个整数,表示 BJT 的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是 0 ,则没有百位部分;如果小时不是 0 而且分小于 10 分,需要保留十位上的 0。 输出格式:一个整数,表示 UTC 的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于 10 ,则 没有千位部分; 如果小时是 0,则没有百位部分; 如果小时不是 0 而且分小于 10 分,需要保留十位上的 0。 输入样例:933输出样例:1
5、33程序代码import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubint UTC;int BJT;int m,h;Scanner in=new Scanner(System.in);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;elseU
6、TC =h*100+m;System.out.println(UTC); in.close();2 信号报告( 5 分)题目内容:无线电台的 RS 制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度 .S(Strength) 信号强度即大小 .其中 R 位于报告第一位,共分 5 级,用 15 数字表示 .1- -Unreadable2- -Barely readable, occasional words distinguishable3- -Readable with considerable difficulty4- -Readable with pract
7、ically no difficulty5- -Perfectly readable报告第二位是 S,共分九个级别,用 19 中的一位数字表示1- -Faint signals, barely perceptible2- -Very weak signals3- -Weak signals4- -Fair signals5- -Fairly good signals6- -Good signals7- -Moderately strong signals8- -Strong signals9- -Extremely strong signals 现在,你的程序要读入一个信号报告的数字,然后输出
8、对应的含义。如读到59 ,则输出:Extremely strong signals, perfectly readable.输入格式 :一个整数,信号报告。整数的十位部分表示可辨度,个位部分表示强度。输入的整数范围是 11,59 内有效 的数字,这个范围外的数字不可能出现在测试数据中。输出格式: 一句话,表示这个信号报告的意义。按照题目中的文字,先输出表示强度的文字,跟上逗号和空格,然后 是表示可辨度的文字,跟上句号。注意可辨度的句子的第一个字母是小写的。注意这里的标点符号都是英 文的。输入样例:33输出样例:Weak signals, readable with considerable d
9、ifficulty.程序代码import java.util.Scanner;public class Main public static void main(String args) / TODO Auto-generated method stubint RS;int S,R;Scanner in=new Scanner(System.in);RS =in.nextInt(); if(RS>=11&&RS<=59)S = RS/10;R = RS%10;switch(R)case 1:System.out.print("Faint signals,
10、barely perceptible, ");break; case 2:System.out.print("Very weak signals, ");break;case 3:System.out.print("Weak signals, ");break;case 4:System.out.print("Fair signals, ");break; case 5:System.out.print("Fairly good signals, ");break; case 6:System.out.p
11、rint("Good signals, ");break; case 7:System.out.print("Moderately strong signals, ");break; case 8:System.out.print("Strong signals, ");break; case 9:System.out.print("Extremely strong signals, ");break; switch(S) case 1:System.out.print("unreadable."
12、;);break; case 2:System.out.print("barely readable, occasional words distinguishable.");break;case 3:System.out.print("readable with considerable difficulty.");break; case 4:System.out.print("readable with practically no difficulty.");break; case 5:System.out.print(&quo
13、t;perfectly readable.");break; in.close();第三周1 奇偶个数( 5 分)题目内容:你的程序要读入一系列正整数数据,输入 -1 表示输入结束, -1 本身不是输入的数据。程序输出读到的数据 中的奇数和偶数的个数。输入格式 :一系列正整数,整数的范围是( 0,100000 )。如果输入 -1 则表示输入结束。输出格式:两个整数,第一个整数表示读入数据中的奇数的个数,第二个整数表示读入数据中的偶数的个数。两个整 数之间以空格分隔。输入样例:9 3 4 2 5 7 1输出样例:4 2程序代码import java.util.Scanner;publi
14、c class Main public static void main(String args) / TODO Auto-generated method stubint m;int n=0;int t=0;Scanner in=new Scanner(System.in); m =in.nextInt();while(m!=-1)if(m%2=1)n =n+1;elset=t+1;m =in.nextInt();System.out.println(n+" "+t); in.close();2 数字特征值( 5 分)题目内容:对数字求特征值是常用的编码算法,奇偶特征是一
15、种简单的特征值。对于一个整数,从个位开始对每一位 数字编号,个位是 1 号,十位是 2 号,以此类推。这个整数在第 n 位上的数字记作 x ,如果 x 和 n 的奇偶 性相同,则记下一个 1,否则记下一个 0。按照整数的顺序把对应位的表示奇偶性的 0和 1都记录下来, 就形成了一个二进制数字。比如,对于 342315 ,这个二进制数字就是 001101 。 这里的计算可以用下面的表格来表示:数字342315数位654321数字奇偶奇偶偶奇奇奇数位奇偶偶奇偶奇偶奇奇偶一致001101二进制位值32168421按照二进制位值将 1 的位的位值加起来就得到了结果 13 。 你的程序要读入一个非负整数
16、,整数的范围是 0,100000 ,然后按照上述算法计算出表示奇偶性的那个二 进制数字,输出它对应的十进制值。提示:将整数从右向左分解,数位每次加 1 ,而二进制值每次乘 2。 输入格式 :一个非负整数,整数的范围是 0,1000000 。输出格式: 一个整数,表示计算结果。输入样例:342315输出样例:13程序代码import java.util.Scanner;public class Main public static void main(String args) int m;int n;int t=0;int s=1;int sum=0;int f=0;Scanner in=new
17、 Scanner(System.in);m =in.nextInt();if(m>=0&&m<=1000000)while(m!=0)int p; n=m%10; if(n%2=s%2) p=1;elsep=0;s=s+1;/sum=sum+1;f=(int) (f+p*Math.pow(10, s-2);m=m/10;while(f!=0)int p;p=f%10;sum=(int) (sum+p*Math.pow(2, t);t=t+1; f=f/10;System.out.println(sum);in.close();第四周1 素数和( 5 分)题目内容:我
18、们认为 2 是第一个素数, 3 是第二个素数, 5 是第三个素数,依次类推。现在,给定两个整数 n 和 m ,0<n<=m<=200 ,你的程序要计算第 n 个素数到第 m 个素数之间所有的素数 的和,包括第 n 个素数和第 m 个素数。注意,是第 n 个素数到第 m 个素数之间的所有的素数,并不是 n 和 m 之间的所有的素数。输入格式 :两个整数,第一个表示 n ,第二个表示 m 。 输出格式:一个整数,表示第 n 个素数到第 m 个素数之间所有的素数的和,包括第 n 个素数和第 m 个素数。 输入样例:2 4输出样例:15程序代码import java.util.Sca
19、nner;public class Main public int IsOrNotprime(int x)int j;int n;n= x/2;for(j=2;j<=n;j+)if(x%j=0)return 0;return 1;public static void main(String args) int n;int m;int i;int sum=0;int j=0;Scanner in=new Scanner(System.in); n =in.nextInt();m =in.nextInt();Main s= new Main(); if(n>0&&n&l
20、t;=m&&m<=200) for(i=2;i<=1000000;i+) if(s.IsOrNotprime(i)=1)j=j+1;if(j>=n&&j<=m)sum=sum+i;if(j=m)break;System.out.println(sum);in.close();2 念整数( 5 分)题目内容:你的程序要读入一个整数,范围是 -100000,100000 。然后,用汉语拼音将这个整数的每一位输出出来。 如输入 1234 ,则输出:yi er san si 注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时
21、,在输出的开头加上 “ fu ”,如-2341 输出为:fu er san si yi输入格式 :一个整数,范围是 -100000,100000 。输出格式: 表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。输入样例:-30输出样例: fu san ling程序代码import java.util.Scanner;public class Main public static void main(String args) Scanner in=new Scanner(System.in);int n=in.nextInt();int count=0;int i
22、sZheng=0;int v=0;int total=n;int isZero=0;int isPut=1;if(n>=-100000&&n<=100000)if(n<0)isZheng=1;n=-n;else if(n=0)System.out.print("ling");if(isZheng=1)System.out.print("fu"+" ");while(total!=0)total/=10;count+;for(int i=count;count>0;count-)int mid=1
23、;for(int j=1;j<count;j+)mid*=10;if(isZero=1)System.out.print(" ");v=n/mid;n%=mid;if(v=0&&count=1)v=n;isPut=0;isZero=1;switch(v)case 0:System.out.print("ling");continue;case 1:System.out.print("yi"); continue;case 2:System.out.print("er"); continue;c
24、ase 3:System.out.print("san");continue;case 4:System.out.print("si");continue;case 5:System.out.print("wu");continue;case 6:System.out.print("liu");continue;case 7:System.out.print("qi");continue;case 8:System.out.print("ba");continue;case
25、9:System.out.print("jiu");continue;第五周1 多项式加法( 5 分)题目内容:一个多项式可以表达为 x 的各次幂与系数乘积的和,比如:2x6+3x5+12x3+6x+20 现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输 出。程序要处理的幂最大为 100 。输入格式 :总共要输入两个多项式,每个多项式的输入格式如下:每行输入两个数字,第一个表示幂次,第二个表示该幂次的系数,所有的系数都是整数。第一行一定是最 高幂,最后一行一定是 0 次幂。注意第一行和最后一行之间不一定按照幂次降低顺序排列;如果某
26、个幂次的系数为0 ,就不出现在输入数据中了; 0 次幂的系数为 0 时还是会出现在输入数据中。输出格式:从最高幂开始依次降到 0 幂,如:2x6+3x5+12x3-6x+20注意其中的 x 是小写字母 x,而且所有的符号之间都没有空格,如果某个幂的系数为0 则不需要有那项。输入样例:6 25 33 121 60 206 25 32 121 60 20输出样例:4x6+6x5+12x3+12x2+12x+40程序代码import java.util.Scanner;public class Mainpublic static void main (String args)Scanner in =
27、 new Scanner(System.in); int array = new int101;int max = 0;int times = 0;while(in.hasNext() int x = in.nextInt(); int num = in.nextInt();arrayx += num; if(x = 0)times+;if(times = 2)break;for(int j = 0;j < array.length;j+)if(arrayj != 0 )if(j > max)max = j;for(int i = max;i > 0; i-)if(array
28、i > 0)if(i != max)System.out.print("+");if(arrayi != 1)System.out.print(arrayi);System.out.print("x");/ 幂次为 1 时不用输出幂次if(i != 1)System.out.print(i);else if(arrayi < 0)if(arrayi != -1)System.out.print(arrayi);elseSystem.out.print("-");System.out.print("x")
29、;if(i != 1)System.out.print(i);if(max = 0)System.out.print(array0);else/ 最高幂 >0, 正系数先输出 +if(array0 > 0)System.out.print("+");System.out.print(array0);第六周1 单词长度( 5 分)题目内容:你的程序要读入一行文本,其中以空格分隔为若干个单词,以 . '结束。你要输出这行文本中每个单词的 长度。这里的单词与语言无关,可以包括各种符号,比如“ it's ”算一4个。单注词意,长行度中为可能 出现连续的空
30、格。输入格式 : 输入在一行中给出一行文本,以 . '结束,结尾的句号不能计算在最后一个单词的长度内。 输出格式:在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。输入样例:It's great to see you here.输出样例:4 5 2 3 3 4程序代码import java.util.Scanner;public class Main private static Scanner in;public static void main(String args) in = new Scanner(System.in); String
31、text=new String();dotext=in.next();if (text.lastIndexOf(".")=(text.length()-1) if(text.length()>1)System.out.print(text.length()-1);else System.out.print(text.length()+" ");while(true);2GPS 数据处理( 5 分)题目内容:NMEA-0183 协议是为了在不同的 GPS(全球定位系统)导航设备中建立统一的 BTCM (海事无线电技术 委员会)标准,由美国国家海洋电子
32、协会( NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。 GPS 接收机根据 NMEA-0183 协议的标准规范, 将位置、 速度等信息通过串口传送到 PC 机、 PDA 等设备。NMEA-0183 协议是 GPS 接收机应当遵守的标准协议,也是目前 GPS 接收机上使用最广泛的协议,大多 数常见的 GPS 接收机、 GPS 数据处理软件、导航软件都遵守或者至少兼容这个协议。NMEA-0183 协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有 $GPGGA 、 $GPGSA 、 $GPGSV 、 $GPRMC 、
33、 $GPVTG 、$GPGLL 等。其中 $GPRMC 语句的格式如下: $GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,A*50 这里整条语句是一个文本行,行中以逗号“ , ”隔开各个字段,每个字段的大小(长度)不一,这里的示例 只是一种可能,并不能认为字段的大小就如上述例句一样。字段 0: $GPRMC ,语句 ID,表明该语句为 Recommended Minimum Specific GPS/TRANSIT Data (RMC )推荐最小定位信息字段 1: UTC 时间, hhmmss.sss 格式字段
34、2:状态, A=定位, V=未定位字段 3:纬度 ddmm.mmmm ,度分格式(前导位数不足则补 0 )字段 4:纬度 N (北纬)或 S(南纬)字段 5:经度 dddmm.mmmm ,度分格式(前导位数不足则补 0 )字段 6:经度 E(东经)或 W(西经)字段 7:速度,节, Knots字段 8:方位角,度字段 9:UTC 日期, DDMMYY 格式字段 10:磁偏角,( 000 - 180 )度(前导位数不足则补 0)字段 11:磁偏角方向, E=东 W= 西 字段 16 :校验值 这里,“ * ”为校验和识别符,其后面的两位数为校验和,代表了“$”和“ * ”之间所有字符(不包括这两
35、个字符)的异或值的十六进制值。上面这条例句的校验和是十六进制的 50,也就是十进制的 80 。提示: 运算符的作用是异或。将 $和*之间所有的字符做 运算(第一个字符和第二个字符异或,结果再和 第三个字符异或, 依此类推 )之后的值对 65536 取余后的结果, 应该和 *后面的两个十六进制数字的值相等, 否则的话说明这条语句在传输中发生了错误。注意这个十六进制值中是会出现 A-F 的大写字母的。另外, 如果你需要的话,可以用 Integer.parseInt(s) 从 String 变量 s 中得到其所表达的整数数字;而 Integer.parseInt(s, 16) 从 String 变量
36、 s 中得到其所表达的十六进制数字 现在,你的程序要读入一系列 GPS 输出,其中包含 $GPRMC ,也包含其他语句。在数据的最后,有一行 单独的 END 表示数据的结束。你的程序要从中找出 $GPRMC 语句,计算校验和,找出其中校验正确,并且字段 2 表示已定位的语句, 从中计算出时间, 换算成北京时间。 一次数据中会包含多条 $GPRMC 语句, 以最后一条语句得到的北京时 间作为结果输出。你的程序一定会读到一条有效的 $GPRMC 语句。 输入格式 :多条 GPS 语句,每条均以回车换行结束。最后一行是 END 三个大写字母。 输出格式:6 位数时间,表达为:hh:mm:ss其中,
37、hh 是两位数的小时,不足两位时前面补 0; mm 是两位数的分钟,不足两位时前面补0; ss是两位数的秒,不足两位时前面补 0。输入样例: $GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,A*50 END输出样例: 10:48:13程序代码import java.util.Scanner;public class Main static String time;public static void Input()Scanner in=new Scanner(System.in);String s;dos=in.
38、nextLine();if(s.contains("$GPRMC")&&s.contains(",A,") if(Check(s)time=s;while(!s.equals("END");in.close();private static boolean Check(String s)int i;int xor=s.charAt(1);for(i=2;s.charAt(i)!=(int)'*'i+)xor=s.charAt(i);String p=s.substring(i+1);int w=Inte
39、ger.valueOf(p,16);return(w=xor);public static int m(int a,int b)int c;c=Integer.parseInt(time.substring(a,b);return c;public static void main(String args) Input();int hh=0,mm=0,ss=0;int j=time.indexOf(",");hh=m(j+1,j+3)+8;mm=m(j+3,j+5);ss=m(j+5,j+7);hh%=24;if(hh>=10)System.out.print(hh)
40、;else if(hh=0)System.out.print("00");elseSystem.out.print("0"+hh);if(mm>=10)System.out.print(":"+mm);else if(mm=0) System.out.print(":00");elseSystem.out.print(":0"+mm);if(ss>=10)System.out.print(":"+ss);else if(ss=0)System.out.print(
41、":00");elseSystem.out.print(":0"+ss);第七周1 分解质因数( 5 分)题目内容:每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的 质因数。比如, 6 可以被分解为 2x3,而 24 可以被分解为 2x2x2x3 。现在,你的程序要读入一个 2,100000 范围内的整数,然后输出它的质因数分解式;当读到的就是素数时, 输出它本身。输入格式 :一个整数,范围在 2,100000 内。输出格式:形如:n=axbxcxd或n=n所有的符号之间都没有空格, x 是小写字母 x。 输入
42、样例:18输出样例:18=2x3x3程序代码import java.util.Scanner;public class Main public static void main(String args) Scanner in=new Scanner(System.in); int m=in.nextInt(); System.out.print(m+"="); fenjie(m);public static int primeFactor(int m) int pf=2;while(m%pf>0&&pf<=Math.sqrt(m) pf=nextPrime(pf);return pf;public static void fenjie(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全生产工作要点概述
- 智能财税综合实训 下篇 课件 智能财税基础业务5 社会共享中级外包实务
- 2025年党政领导干部党章党规党纪党史知识培训考试题库及答案(共230题)
- 2025年度商标权转让款代付服务协议
- 上市公司资金管理存款居间
- 实验动物房装修合同解除
- 无缝物流操作指南文件汇编
- 电子商务平台客户服务提升预案
- 塔式起重机安装专项施工方案内容
- 有机蔬菜种植要求
- 社会稳定风险评估报告-稳评报告
- 高铁动车受众人群分析课件
- 布艺温馨自制挂袋
- 装配式电缆沟施工方案
- 大脑发育和亲子教育关系
- 2023年广州市青年教师初中数学解题比赛决赛试卷
- 全国职工职业技能竞赛(焊工)专业技能竞赛考试题库(含答案)
- SM过程质量报告
- 城乡规划管理与法规智慧树知到答案章节测试2023年同济大学
- 电子商务论文范文目录
- GB/T 7324-2010通用锂基润滑脂
评论
0/150
提交评论