zoukankan      html  css  js  c++  java
  • C语言I博客作业09

    这个作业属于哪个课程 这个作业要求在哪里 我在这个课程的目标是 这个作业在哪个具体方面帮助我实现目标 参考文献
    C语言程序设计II C语言I—2019秋作业09C语言作业评价标准 熟悉并掌握基本的程序语言知识,并拥有独立完成程序编辑的能力
    进一步强化C语言的基础学习,学习掌握break、continue和循环的嵌套,同时通过PTA作业了解其在实际编程语言中的应用
    C语言程序设计(第三版),伪代码的写法百度百科

    1.PTA实验作业

    1.1 找完数

    1.1.1 数据处理

       ①数据表达:使用了整形变量m,n,i,j,he,count和yishu,其中,m和n作为输入的数据,i和j作为循环变量,he作为各个因数相加之和,count作为计数器,yinshu作为因数;
       ②数据处理:(伪代码)
    1.输入数据m和n
    2.使i从m到n开始逐加循环
    3.使j在该数字中逐加循环
    4.利用整除为0判断j是否为因数,并累加到he上
    5.利用累加的he是否等于原数来判断是否为完数
    6.判断为完数的输出结果的开头
    7.并再次利用循环依次输出因数
    8.换行后继续,若没有计数则输出None

    1.1.2实验代码截图


    1.1.3 造测试数据

    输入数据 输出数据 说明
    2 30 6 = 1 + 2 + 3、8 = 1 + 2 + 4 + 7 + 14 使用题试数据测试
    400 1000 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 使用较大数据测试
    2 1000 6 = 1 + 2 + 3、28 = 1 + 2 + 4 + 7 + 14、496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 使用全部数据测试
    900 1000 None 使用其它数据测试

    1.1.4 PTA提交列表及说明

    提交列表说明:

    1.编译错误:for语句中使用了逗号而不是分号;(逗号改成分号解决)
    2.编译错误:变量he没有初始定义;(将he赋值为0解决)
    3.编译错误:完数的判断符号使用的是等号;(使用“==”来判断后解决)
    4.编译错误:for语句中使用了两个m;(更换后面一个为n后解决)
    5.编译错误:换行符没有加入引号;(加入引号解决)
    6.答案正确:在VS中反复验证测试然后更正,粘贴到PTA中成功提交。

    1.2 换硬币

    1.2.1 数据处理

       ①数据表达:使用了整形变量x,a,fen5,fen2,fen1和count;其中,x作为输入的数据;a作为中间变量,fen5,fen2,fen1分别作为各种硬币的数量,count作为计数器;
       ②数据处理:(伪代码)
    1.获取输入的数据x
    2.使x减去8,在后面的硬币数再补上
    3.从五分硬币的数量开始循环,每次减1,这样可以保证总数量的顺序排列
    4.利用中间变量a来计算两分硬币的数量并开始循环
    5.利用总数减去五分和两分的得到一分的
    6.计数器依次累加
    7.换行依次输出结果并输出计数器

    1.2.2实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    13 fen5:2, fen2:1, fen1:1, total:4、fen5:1, fen2:3, fen1:2, total:6、fen5:1, fen2:2, fen1:4, total:7、fen5:1, fen2:1, fen1:6, total:8、count = 4 使用题试数据测试
    9 fen5:1, fen2:1, fen1:2, total:4、count = 1 使用较小数据测试
    12 fen5:1, fen2:3, fen1:1, total:5、fen5:1, fen2:2, fen1:3, total:6、fen5:1, fen2:1, fen1:5, total:7、count = 3 使用随机数据测试
    999 结果过于庞大,结尾为count = 49501,经查询为正确答案 使用较大数据测试

    1.2.4 PTA提交列表及说明

    提交列表说明:

    1.编译错误:for语句中没有用分号;(加入分号解决)
    2.编译错误:赋值运算多加了括号;(去除括号解决)
    3.运行超时:使用了错误的方法,是递增的累加,导致无法得出结果;(改正方法,使用递减解决)
    4.段错误:这个新的错误完全不是很能理解,多次改正无果,于是整个重新打了一遍,才得以解决,不知道是什么意思;(重新输入解决)
    5.答案正确:在VS中反复验证测试然后更正,粘贴到PTA中成功提交。这里的后面的一堆正确,是在不断精简数据,将变量数一个一个减少试试能不能运行,成功的让程序精简了不少。

    2.代码互评

    2.1同学代码截图①(来自李泽基)

    2.1同学代码截图②(来自无名氏)

    2.2自己代码截图(使用习题7-3)

    2.3比较结果

       ②使用的计算步骤的不同,有先后区别;
       ③使用的变量数目的不同,有一部分变量确实可以减少;
       ③使用的计算方法的不同,对于各个硬币数量的计算不同。

    3.学习总结

    3.1 学习进度条

    周数/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第三周/10-11 约6-7h 约200-240 “if”和“else”选择结构语句的基本使用
    对于更多的选择情况产生的时候,无法判断语句执行的先后顺序
    第四周/10-16 约6-7h 约320-360 “for”循环结构语句的基本使用
    对于多个循环结构的使用不熟悉,以及循环计算中的语句计算先后顺序
    第五周/10-24 约6-7h 约320-360 自定义函数的格式以及应用
    自定义函数格式中返回值的运用
    第六周/10-31 约6-7h 约320-361 多分支结构、字符型数据类型和逻辑运算符
    字符型数据有何具体的实际意义
    第七周/11-06 约7-8h 约340-399 多分支结构中的Swtich结构的运用以及是否使用break的区别
    Swtich语句的重复多次运用方法
    第八周/11-15 约6-7h 约340-399 循环结构以及while和do-while结构
    对于同一个题目do-while和while的转换还有所不熟练
    第九周/11-22 约6-7h 约340-399 break、continue语句以及循环的嵌套
    多层的循环嵌套无法把握住后面的大括号的位置

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

       光阴似箭,日月如梭,这时间过得有点快。不知不觉的,竟然这学期就快要结课了。先说说这周的学习,依旧是基础的延伸。在基础的循环语句上学习更多的循环中可以使用的语句比如break和continue,以及更深层次的循环的嵌套。依旧是寻寻渐进的过程,能够接受,也能够学习到,更多的问题往往都是在应用上的。
       接近考试了,感觉完全没有那种信心十足以及胸有成竹的感觉是怎么回事,多少有些心虚。也不知道自己有没有学习到课程要求中所应该要求掌握的知识,也不知道自己能不能够顺利的完成本次的学习任务。还是投入的时间不够多,没有将全部的心思都放这上面,所以这些也都是意料之中的。按照行业里的十万定律,别说十万个小时了,我这十万行代码估计都够呛。所以下一步或者说,下一阶段的学习的话,需要加大对于这个作为专业课程的投入。权当是为了,让自己,不那么心虚吧。

    “读书破万卷,下笔如有神。”

       ————杜甫《奉赠韦左丞丈二十二韵》

  • 相关阅读:
    10个好用的 HTML5 特性
    数字营销2.0时代已到来
    云原生时代,.NET5必将称王!
    为什么需要堡垒机
    从SOA和微服务到云原生解决方案实践
    阿里云资深技术专家李克畅谈边缘云计算趋势与实践
    OpenKruise v0.9.0 版本发布:新增 Pod 重启、删除防护等重磅功能
    浅谈分布式一致性:Raft 与 SOFAJRaft
    数仓架构的持续演进与发展 — 云原生、湖仓一体、离线实时一体、SaaS模式
    如何基于MaxCompute快速打通数据仓库和数据湖的湖仓一体实践
  • 原文地址:https://www.cnblogs.com/rodcirdo/p/11910489.html
Copyright © 2011-2022 走看看