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


    0.展示PTA总分



    1.本章学习总结

    1.1 学习内容总结

    基本语法

    库函数一些必须信息在头文件中声明
    调用输入输出函数#include<stdio.h>
    调用数学函数#include<math.h>
    常用:
    平方根sqrt(x)
    绝对值fabs(x)
    幂函数pow(x,n)
    e为底指数函数exp(x)
    以e为底的对数函数log(x)

    scanf(“”)

    • 若有输入字符型变量,(例:%d%c%d),输入数据之间不能出现空格或其他字符(例:%d %c %d),否则也认定为输入的字符
      输入浮点型变量
    • double对应%lf;float对应%f(无精度控制)

    printf(“”)

    • 输出浮点型变量(例%.1f保留一位小数)
    • 输出格式控制时(例:%-4d输出宽度为4长度不够后补空格)%4d前补空格
      %外原样输出;%内针对变量输出

    分支结构

    if-else语句

    • 字符型变量应用于if—else语句,条件中需用' '(例:if(op=='+'))
    • else后不加表达式

    多分支if-else语句

    • else if后需加表达式

    for循环语句

    • 循环体语句若需多条用{}框起

    switch语句

    • case后不能写条件只能跟常量
    • 注意break用法

    拓展语法

    2. rand()随机函数不放在头文件#include<studio.h>中,而是放在#include<stdlib.h>中,但每次产生的随机数组相同;
    srand(time(NULL))随机种子每次产生不同的随机数组,time调用函数#include<time.h>中```
    
    ## 1.2 本章学习体会
    * 感受:经过两周的C语言学习,从几乎0基础的小白到能够理解基本语法及分支结构等,能够写出程序、运行程序,虽然过程有时繁杂,但C语言编程的结果确实让人十分有成就感和满足感。在学习过程中我深刻的体会到老师口中C语言就是要不断练习实践这句话的真实,真正的错误只有在打完代码后才能被揪出并深刻记忆。面对大体找不出的错误,学习运用了逐句调试,应用vs编写代码。
    * 不理解:for循环语句中空语句意义及作用,何时运用
    * 建议:面对拓展的语法知识,希望可以在vs上分别打出代码,了解实际应用
    * 代码量:(pta中除去部分语句更改)代码量大概为819(从9月1日起)
    
    ***
    # 2.PTA实验作业
    ## 2.1 7-10 计算天数
    ### 2.1.1 数据处理
    * 数据表达:都为整型
    1. int year;是否闰年判断
    2. int month;月份判断
    3. int date;日期最终累加到sum中
    4. int i;累计月份判断天数
    5. int sum;累计天数总和
    * 数据处理:
    scanf输入语句;for循环语句;多分支if-else语句;printf输出语句
    
    ### 2.1.2 代码截图
    ![](https://img2018.cnblogs.com/blog/1778470/201910/1778470-20191005230720618-1758899783.jpg)
    
    ### 2.1.3 本题可扩展功能
    首先判断所输入日期是否合理后再计算天数
    
    ### 2.1.4 PTA提交列表及说明
    ![](https://img2018.cnblogs.com/blog/1778470/201910/1778470-20191005234253203-925020683.jpg)
    * Q1:如何处理不同月份对应相应天数
    * A1:利用分支结构,将天数相同的月份并入同一个执行条件中,并讨论闰年2月问题
    * Q2:怎样使月份逐步添加到输入数据后停止
    * A2:循环结构for(i=1;1<=digit;i++)分号隔开
    
    ## 2.2 7-6 出租车计价
    ###  2.2.1 数据处理
    * 数据表达:
    1. int startMileage;起步里程
    2. int startFee;起步价
    3. double mileage;(浮点型)行驶路程
    4. int waitTime;等待时间判断是否临时停车收费
    5. int fee;总费用
    * 数据处理:
    scanf输入语句;多分支if-else语句;嵌套if-else语句;printf输出语句
    
    ### 2.2.2 代码截图
    ![](https://img2018.cnblogs.com/blog/1778470/201910/1778470-20191005231058446-1859644599.jpg)
    
    ### 2.2.3 本题可扩展功能
    比拟为共享单车(或其他按公里数计费的交通工具)的收费制度
    
    ### 2.2.4 PTA提交列表及说明
    ![](https://img2018.cnblogs.com/blog/1778470/201910/1778470-20191005234002043-1188251080.jpg)
    * Q1:刚开始不知道如何处理四舍五入问题
    * A1:应为是整型数据最终结果只能是整数,计算数据加上0.5后达到四舍五入效果
    * Q2:不及五分钟不收费问题如何表达
    * A2:输出整型数据,所经过时间/5,则不及五分钟输出结果为0
    
    ## 2.3 7-12 判断一个三位数是否为水仙花数 
    ### 2.3.1 数据处理
    * 数据表达:
    1. int digit;输入整数
    2. int hundred;计算百位
    3. int ten;计算十位
    4. int bits;计算个位
    * 数据处理:
    scanf输入语句;多分支if-else语句;嵌套if-else语句;printf输出语句
    
    ### 2.3.2 代码截图
    ![](https://img2018.cnblogs.com/blog/1778470/201910/1778470-20191005230935529-1500828131.jpg)
    ### 2.3.3 本题可扩展功能
    找出三位数(或更多位数)的所有水仙花数
    ![](https://img2018.cnblogs.com/blog/1778470/201910/1778470-20191007171836652-198216574.jpg)
    
    
    
    ### 2.3.4 PTA提交列表及说明
    ![](https://img2018.cnblogs.com/blog/1778470/201910/1778470-20191005233257183-150531973.jpg)
    * Q1:比较符号应用错误
    * A1:相等为==
    * Q2:如何控制数据范围
    * A2:将变量范围大小列出每句用&&分隔
    
    ***
    # 3.阅读代码
    [xinz](https://www.nowcoder.com/ta/acm-solutions/review?tpId=20&tqId=13026&query=3979&asc=true&order=&page=1)
    ![](https://img2018.cnblogs.com/blog/1778470/201910/1778470-20191006160826637-1300590680.jpg)
    * 代码理解:应用gcd函数求两个正整数最大公约数,lcm函数求最小公倍数,求两分数之和,输入为EOF时结束,没有完全理解步骤,太绕(例:n=a*(m/b)+c*(m/d);else   n=a*(m/b)-c*(m/d);)
    ![](https://img2018.cnblogs.com/blog/1778470/201910/1778470-20191007164503625-1441836791.jpg)
    * 优点:条件判断详细,有逻辑感,多嵌套if-else语句可读性强
    
    
    ***
  • 相关阅读:
    第十四周学习进度
    团队十日冲刺17
    团队十日冲刺16
    找水王
    搜狗输入法评价
    团队十日冲刺15
    团队十日冲刺14
    团队十日冲刺13
    团队十日冲刺12
    团队十日冲刺11
  • 原文地址:https://www.cnblogs.com/sixiDL000/p/11625687.html
Copyright © 2020-2023  润新知