关于翁恺老师测试题1.2.3

简介: 1温度转换(5分)题目内容:写一个将华氏温度转换成摄氏温度的程序,转换的公式是:    °F = (9/5)*°C + 32其中C表示摄氏温度,F表示华氏温度。程序的输入是一个整数,表示华氏温度。
1
温度转换(5分)

题目内容:

写一个将华氏温度转换成摄氏温度的程序,转换的公式是:

    °F = (9/5)*°C + 32

其中C表示摄氏温度,F表示华氏温度。

程序的输入是一个整数,表示华氏温度。输出对应的摄氏温度,也是一个整数。

提示,为了把计算结果的浮点数转换成整数,需要使用下面的表达式:

    (int)x;

其中x是要转换的那个浮点数。

 

注意:除了题目要求的输出,不能输出任何其他内容,比如输入时的提示,输出时的说明等等都不能。这道题目要求转换后的数字,程序就只能输出这个数字,除此之外任何内容都不能输出。

 

输入格式:

一个整数。

 

输出格式:

一个整数。

 

输入样例:

100

 

输出样例:

37

答案:

import java.util.Scanner;

public class Main{

    public static void main(String[] args) {
        
        int F;
        
        double num = 9/5.0;
        
        Scanner in = new Scanner(System.in);
        F = in.nextInt();
        
        double  C = ((F - 32)/num); //公式换算后所得
        
        System.out.println((int)C);
    }

}

2

时间换算(5分)

题目内容:

UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分。

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

你的程序要输出这个时间对应的UTC时间,输出的格式和输入的相同,即输出一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。

提醒:要小心跨日的换算。

 

输入格式:

一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而且分小于10分,需要保留十位上的0。

 

输出格式:

一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而且分小于10分,需要保留十位上的0。

 

输入样例:

933

 

输出样例:

133

答案:

import java.util.Scanner;
public class Main {
    

    public static void main(String[] args) {
    
        Scanner in = new Scanner(System.in);
        
        final int T = 800;  //声明一个时差用于BJT-时差 8小时 即 800
        int input = 0;
        input = in.nextInt();
        int h = input/100;       //声明一个整型int h = 输入除以100 这样是为了在判断中判断百位与千位数字是在0-23之间 见if
        int m = input%100;       //声明一个整型int m = 输入取余100 这样是为了在判断中判断各位与十位数字是在0-59之间 见if
        
        
        if(h>=0&&h<=23&&m>=0&&m<=59&&input>=800) 
//如果 输入值除以100后的值>=0&&这个值<=23 && 输入值取余100后的值>=0且<=59 因为时间如果为60或更大则不是时间表达 && 输入值>=800 因为时差为800 8个小时 小于800会为负值
//在后面的else if中,输出的值为(输入值+2400-时差)即为有效时间

        {
            
            System.out.println(input-T);
            
            
        }
        else if(input<800&&input>=0)
        {
            System.out.println(input+2400-T);
            
        }

         
        
    }

    
}

3
信号报告(5分)

题目内容:

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

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

S(Strength)    信号强度即大小.

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

1---Unreadable

2---Barely readable, occasional words distinguishable

3---Readable with considerable difficulty

4---Readable with practically no difficulty

5---Perfectly readable

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

1---Faint signals, barely perceptible

2---Very weak signals

3---Weak signals

4---Fair signals

5---Fairly good signals

6---Good signals

7---Moderately strong signals

8---Strong signals

9---Extremely strong signals

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

Extremely strong signals, perfectly readable.

 

输入格式:

一个整数,信号报告。整数的十位部分表示可辨度,个位部分表示强度。输入的整数范围是[11,59]内有效的数字,这个范围外的数字不可能出现在测试数据中。

 

输出格式:

一句话,表示这个信号报告的意义。按照题目中的文字,先输出表示强度的文字,跟上逗号和空格,然后是表示可辨度的文字,跟上句号。注意可辨度的句子的第一个字母是小写的。注意这里的标点符号都是英文的。

 

输入样例:

33

 

输出样例:

Weak signals, readable with considerable difficulty.

答案:

import java.util.Scanner;

public class Main {

    private static String Stringr;  //声明静态私有字符串 Stringr
    private static String Strings;       //...        Strings

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        int input = in.nextInt();
        int R = input/10;     //同第二题方法
        int S = input%10;    //同第二题方法
       // int valueRS = R*10+S;  已注释,之前的方法未达成遗留
        if(R>=1&&R<=5&&S>=1&&S<=9)//如果输入的数值在11-59之间 //if(R>=1&&R<=5&&S>=1&&S<=9&&input>=11&&input<=59) 之后检测input>=11&&input<=59是多余的
  { switch(S) //利用switch case 把S也就是各位数的值 赋值对应的String语句 { case 1: Strings = "Faint signals, barely perceptible"; break; case 2: Strings = "Very weak signals"; break; case 3: Strings = "Weak signals"; break; case 4: Strings = "Fair signals"; break; case 5: Strings = "Fairly good signals"; break; case 6: Strings = "Good signals"; break; case 7: Strings = "Moderately strong signals"; break; case 8: Strings = "Strong signals"; break; case 9: Strings = "Extremely strong signals"; } switch(R)  //同上,利用switch case 赋值十位数字的R 对应的String语句 { case 1: Stringr = "unreadable"; break; case 2: Stringr = "b;arely readable, occasional words distinguishable"; break; case 3: Stringr = "readable with considerable difficulty"; break; case 4: Stringr = "readable with practically no difficulty"; break; case 5: Stringr = "perfectly readable"; } System.out.println(Strings+", "+Stringr+"."); //输入完成后打印被赋值的 Strings 与 Stringr } } }

 

将编程看作是一门艺术,而不单单是个技术。 敲打的英文字符是我的黑白琴键, 思维图纸画出的是我编写的五线谱。 当美妙的华章响起,现实通往二进制的大门即将被打开。
相关文章
|
10月前
|
算法 安全
【软考总结】记米老师讲课
【软考总结】记米老师讲课
|
12月前
|
弹性计算 并行计算 数据库
飞天加速计划学习感想
我是一名大三计算机科学与技术专业在读学生,在数据库这门课上,老师向我们介绍了飞天加速计划这项有意义的课程,并给我们分配了账号,让我们珍惜难得的学习机会。 使用ECS的过程是一个全新的开始,就相当于重新使用一种模式,我们习惯了应用软件类型的操作方式,因此这种命令行的操作方法还适应了一些时间。
新手小白如何逆袭?
我刚开始因为我自己比较穷,所以说我在淘宝店里面去买了一个虚拟空间,我捣鼓虚拟空间搞了大半天,就连wordpress都没有安装成功,我不知道是我个人问题,还是说他的空间本身就有问题,我非常的清楚,就是这么一个安装的过程,但是我上传上去,解压再复制拉到根目录,我在访问我的域名,结果什么都没有出现?
64 0
|
移动开发 JSON 数据可视化
实战营第3课 | 学习笔记
简介:快速学习实战营第3课
236 0
实战营第3课 | 学习笔记
|
安全 算法 Java
软考详细备考攻略
软考详细备考攻略
540 0
软考详细备考攻略
|
弹性计算 网络安全 云计算
【结营撒花!!】7天实践训练营第一期学员感想
3月27日,阿里云高校计划“7天实践训练营”第一期顺利结束。首期入营的70名学员互帮互助,在营长的带领下顺利完成了每日打卡、学习和作业,收获了4个云上实践项目,阿里云免费技能认证,组团挑战了阿里云算法面试真题。当然,大家也在这七天结识了来自五湖四海的志同道合小伙伴。同学们都有哪些收获和感想,我们一起来听听看吧 ~
1163 0
【结营撒花!!】7天实践训练营第一期学员感想
教师节,感谢这些“特殊”的老师们!
他们是《你好!低代码》栏目的15位分享嘉宾,他们的分享课程已累计为20,000+人带去滋养!
199 0
教师节,感谢这些“特殊”的老师们!
|
C++ C语言 开发工具
收藏-赵四老师的经典语录
理解和讨论之前请先学会如何观察! 计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构…… 对学习编程者...
1224 0
|
JavaScript 关系型数据库 应用服务中间件
丁峰老师的分享
1.ps:https://pan.baidu.com/s/1b9YFtO (gg5a) 2.html5:https://pan.baidu.com/s/1kVlAdCF (3nja) 3.JavaScript: https://pan.
1628 0