• C博客作业01分支、顺序结构


    C博客作业01--分支、顺序结构

    1.1思维导图

    总结本周的学习内容,如下图所示:

    1.2 本章学习体会及代码量学习体会

    1.2.1 学习体会

    因为之前自己提前看过翁恺老师的视频,这周所学的比较轻松。但在课堂上,仍然收获了很多小小的细节,比如驼峰命名法;if-else语句的格式取两位小数时会不会四舍五入等。这些能让我写的代码更容易被其他人读懂,也开阔了自己的思维,慢慢学会多去问一些为什么,多去试试其他的可能性。
    还有,可能因为有一段时间(接近半个月)没敲代码,所以一些比如scanf里面的&经常被忘记,以后要多多敲代码啊。

    1.2.2 代码累计

    2.PTA总分

    2.1截图展示


    2.2 我的总分:

    PTA总分:225分

    PTA实验作业

    3.1 PTA题目1

    请编写程序,根据活动经费和U盘单价预估可购买U盘的最大数量。
    

    3.1.1 算法分析

    - 1.需要的变量:经费money、U盘单价price、U盘数量number;
    - 2.用double定义经费money和U盘单价price,用int定义U盘数量number;
    - 3.输入经费和U盘单价。
    - 4.代入表达式:number=money/price+0.0000001。(注意double的精度缺陷)
    - 输出最大U盘数量。
    

    3.1.2 代码截图

    3.1.3 测试数据

    3.1.4 PTA提交列表及说明

    • Q1:为什么只是部分正确,我感觉我写的很对???
    • A1:double本身精度存在缺陷,需要手动补偿。(当时刚提交一次之后就和舍友谈论,试了好几个点之后还是错。然后第二天看到有人满分了,就屁颠屁颠地去求助大佬啦)

    3.2 PTA题目2

    题目简介:

    本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
    起步里程为3公里,起步费10元;
    超起步里程后10公里内,每公里2元;
    超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
    营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
    

    3.2.1 算法分析

    - 1.定义路程和等待时间。
    - 2.输入路程和等待时间
    - 3.若路程<=3公里,车费=10+等待时间/5*2;
    - 4.若3公里<路程<=10公里,车费=10+2*(路程-3)+等待时间/5*2;;
    - 5.若路程>10公里,车费=10+2*(路程-3)+2*0.5*(路程-10)+等待时间/5*2;;
    - 6.输出车费。
    

    3.2.2 代码截图

    3.2.3 测试数据

    3.2.4 PTA提交列表及说明


    (不要看提交列表就俩,鬼知道我在Dev-C++上有多绝望!!)

    • Q1:对于题目说的时间问题,刚开始是想先用if语句判断时间是否为0,后来发现根本不行。。头大。
    • A1:后来看到闲着无聊就去看了一下自己之前写的的笔记,看到整数除以整数,结果只取整数,就想到了。
    • Q2:对题目不理解。
    • Q2:先不敲代码,在纸上先解出这个数学题,写成分段函数,就好啦。

    3.3 PTA题目3

    题目简介

    本题要求编写程序计算某年某月某日是该年中的第几天。
    

    3.3.1 算法分析

    - 1.定义年、月、日;
    - 2.输入年、月、日;
    - 3.首先判断年是否为闰年,即该年年份能被4整除且不能被100整除、或者能被400整除。
    - 4.若为闰年:
         - 若月为一月,则天数=日;
         - 若月为二月,则天数=日+31;
         - 若月为一月,则天数=日+31+29;
         - 若月为一月,则天数=日+31*2+29;
         - 若月为一月,则天数=日+31*2+29+30;
         - 若月为一月,则天数=日+31*3+29+30;
         - 若月为一月,则天数=日+31*3+29+30*2;
         - 若月为一月,则天数=日+31*4+29+30*2;
         - 若月为一月,则天数=日+31*5+29+30*2;
         - 若月为一月,则天数=日+31*5+29+30*3;
         - 若月为一月,则天数=日+31*6+29+30*3;
         - 若月为一月,则天数=日+31*6+29+30*4;
    - 5.若不为闰年:
         - 若月为一月,则天数=日;
         - 若月为二月,则天数=日+31;
         - 若月为一月,则天数=日+31+28;
         - 若月为一月,则天数=日+31*2+28;
         - 若月为一月,则天数=日+31*2+28+30;
         - 若月为一月,则天数=日+31*3+28+30;
         - 若月为一月,则天数=日+31*3+28+30*2;
         - 若月为一月,则天数=日+31*4+28+30*2;
         - 若月为一月,则天数=日+31*5+28+30*2;
         - 若月为一月,则天数=日+31*5+28+30*3;
         - 若月为一月,则天数=日+31*6+28+30*3;
         - 若月为一月,则天数=日+31*6+28+30*4;
    - 6.输出天数.
    

    3.3.2 代码截图




    (呼,不得不说,这个真的是很长的一串代码。)

    3.3.3 测试数据

    3.2.4 PTA提交列表及说明


    (没错,我又是在Dev-C++上写好了再搬过去的)
    Q1:有点纠结输入里面的“/”符号的输入,是可以直接输入,还是再定义两个字符?
    A2:老师上课说过,scanf里面的非格式符要原样输出(居然忘了!!)
    Q2:这个程序不难,但是我写了很长,而且很大一部分几乎是重复的,有什么办法可以解决?
    A2:下面是我在逛博客里面看到严威和林玮璐同学的代码,我觉得思路更清晰,明显比我的简洁!!!
    严威同学的代码:

    林玮璐同学

    4.点评同学博客

    1.

    2.

    3.

    4.

    5.

  • 相关阅读:
    hexo博客安装教程
    MySQL 索引
    linux笔记
    Matab:plot图形操作
    Verilog--DC
    Verilog--二进制编码到格雷码的转换
    Undefined symbol SystemInit (referred from startup_stm32f10x_md.o).
    电源设计
    蓝牙通信
    quartus II的USB Blaster驱动器安装
  • 原文地址:https://www.cnblogs.com/yhy949/p/9755854.html
Copyright © 2020-2023  润新知