PTA MOOC选择结构

自我记录 仅供参考

目录

7-1 能买手机吗?

7-2 判断输入的字符是哪种类型

7-3 判断BMI指数

7-4 输出英文字母的前驱和后继字母

7-1 能买手机吗?(10分)

小吴同学想换一部手机,希望自己自力更生获得。于是,小吴准备暑假兼职获取酬劳。今天看到一则招聘启示,薪资标准为:每周工作40小时以内,每小时基本工资20元;超出时间为加班,每小时工资翻倍。公司规定,每周加班不能超过10小时。 现在,小

吴想知道,若在此公司工作,要在一个月内(4周)挣到购买手机的资金,需要工作的时长。请你编写一个程序,替小吴算算,购买不同的手机需要加班的最短时长。

输入格式:

输入小吴想买的手机价格Price,Price为正整数。

输出格式:

给出是否需要加班的结论。若需要加班,给出需加班时长(整数)。并给出是否能购买此手机的建议。

#include <stdio.h>

int main()
{
    int price,time;
    scanf("%d",&price);

    int s=3200,s1;

    if(price<=3200)
        printf("不需加班,可购买");
    if(price>4800)
    {
        price=price-s;
        time=price/40;
        s1=price%40;
        if(s1==0)
        printf("需加班%d小时,买不起",time);
        else printf("需加班%d小时,买不起",time+1);
    }
    if(p
<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)理解原理后独立编程。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值