mooc 翁恺老师第二周作业

本文介绍了一个简单的Java程序,用于解析无线电台RS信号报告,并将其转换为人类可读的描述。信号报告由两部分组成:R(可读性)和S(强度),程序能够根据输入的数字准确地给出信号质量描述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人为初学者,有错误和可以改进的地方请各位前辈大牛,多多指点.谢谢

题目内容:

无线电台的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]内有效的数字,这个范围外的数字不可能出现在测试数据中。

 

输出格式:

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

import java.util.Scanner;

public class baogao {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int r;
		int s;
		
		Scanner type = new Scanner(System.in);
		
		int RS = type.nextInt();

		s = RS%10;
		r = (RS%100)/10;
		if(RS>59 || RS<11) {
			System.out.println("11-59");
		}
		else {
			
		switch(s) {
		case 1:
			System.out.print("Faint signals, 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.print("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;
		
		}
		
		
		System.out.print(", ");
		
		switch(r)
		{
		case 1:
			System.out.print("unreadable");
			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("perfectly readable");
			break;
		
		
		}
		System.out.print(".");
		
		
	}
	}
}

 

 

<think>嗯,用户需要查找翁恺老师C语言课程的PTA入门练习题资源或答案。用户引用了三段资料,其中包含翁恺课程中的代码片段和解题思路,说明用户正在学习这门课程并需要配套练习资源。 用户可能正在自学C语言,遇到PTA平台的题目需要参考答案来验证自己的解法。考虑到PTA平台(程序设计类实验辅助教学平台)是高校常用的编程评测系统,但通常不公开答案,直接提供完整答案可能违反学术诚信。 从用户引用的代码片段看,涉及基础语法(如输入输出、循环)、数学计算(最大公约数)和逻辑判断(A+B和C比较)等入门内容。需要推荐符合以下特点的资源:①与翁恺课程知识点匹配;②提供解题思路而非直接答案;③适合PTA题型。 用户引用的第三个资料提到"第七章习题",结合内容判断是"分支结构"章节。因此推荐的资源应覆盖:基本输入输出、变量运算、条件判断等基础内容。浙大官方资源是首选,但翁恺课程本身不直接提供PTA答案,需要间接资源。 考虑到版权和教学要求,应该引导用户关注解题方法而非答案。例如引用[1]的辗转相除法求公约数就是典型算法思路,引用[2]的数字分解法展示两种实现路径,这类思路指导比直接给答案更有价值。 用户可能遇到的具体题型包括:数值计算(如分数化简)、位数分解(如三位数反转)、溢出处理(如A+B和C的比较)。需要推荐能针对这些题型的解析资源,比如算法图解或调试技巧。</think>以下是为您整理的翁恺老师C语言课程相关PTA资源及学习建议: ### 一、官方资源推荐 1. **中国大学MOOC课程** 翁恺老师主讲的《C语言程序设计》课程主页(含课件与习题): [浙江大学C语言程序设计](https://www.icourse163.org/course/ZJU-9001) *注:课程每章配有编程练习,部分题目与PTA题库重合* 2. **PTA官方题库** - 浙大版《C语言程序设计》配套题库: [PTA-程序设计实验辅助教学平台](https://pintia.cn/problem-sets?tab=0) → 选择"浙大版《C语言程序设计(第3版)》题目集" - **入门练习路径**: `基础编程题目集` → `函数题`/`编程题` → 按`提交次数排序`找高频题 ### 二、学习策略与参考 1. **解题方法论**(参考引用[2]) - 数字分解:`while循环 + %10取末位 + /10移除末位` ```c // 三位数反转示例 int n = 123; int reverse = 0; while(n > 0){ reverse = reverse*10 + n%10; // 取末位拼接 n /= 10; // 移除末位 } ``` 2. **典型题解析** - **分数化简**(引用[1]): 使用辗转相除法求最大公约数(GCD): ```c int gcd(int a, int b) { return b ? gcd(b, a%b) : a; // 递归求公约数 } // 调用:a /= gcd(a,b); b /= gcd(a,b); ``` - **数值比较**(引用[3]): 注意`int`溢出问题,处理大数时用`long`: ```c long sum = (long)a + b; // 避免2147483647+1溢出 if(sum > c) printf("true"); ``` ### 三、替代资源渠道 1. **GitHub开源项目** 搜索关键词: `翁恺 C语言 PTA答案` 或 `ZJU-C-Programming-solutions` *注:建议仅参考思路,独立完成编码* 2. **社区讨论** - [优快云专栏:浙大PTA题解](https://blog.youkuaiyun.com/tag/PTA) - [知乎专题:C语言学习路径](https://www.zhihu.com/topic/19605108) > ⚠️ 重要提醒:PTA系统会检测代码重复,直接复制答案可能导致账号异常。建议通过[翁恺课程视频](https://www.bilibili.com/video/BV1cW411N7yF)理解原理后独立编程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值