• C语言I博客作业07



    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 C语言I作业007
    我在这个课程的目标是 对于学过的内容,可以很熟练的进行编程,而且还可以看懂代码的每一步代表着什么意思,训练自己找错的能力
    这个作业在那个具体方面帮助我实现目标 做PTA作业可以巩固学的知识,并且找到自己不足。而且在代码互评环节可以学习到别人的长处
    参考文献 百度、《C Primer Plus》第六版,C语言程序设计、PTA常见问题解答

    1.PTA实验作业

    1.1题目名1

    本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:

    • 大于等于90分为A;
    • 小于90且大于等于80为B;
    • 小于80且大于等于70为C;
    • 小于70且大于等于60为D;
    • 小于60为E。

    1.1.1数据处理

    数据表达:先定义了i,n,score都是整型变量,紧接着又定义了a,b,c,d,e,也是整型变量
    数据处理:使用了for循环语句和switch语句,把switch语句放在for循环中进行计数,最后输出a,b,c,d,e的值
    伪代码:

    1.1.2实验代码截图

    1.1.3造测试数据

    输入数据 输出数据 说明
    7 77 54 92 73 60 65 69 1 0 2 3 1 例题的数据
    5 48 96 100 86 77 2 1 1 0 1 测试含100的数据
    4 12 0 89 66 0 1 0 1 2 测试含0的数据
    5 3 69 74 82 90 1 1 1 1 1 每个分数段都测试一遍

    1.1.4PTA提交列表及说明


    1.编译错误:将scanf打成了scanf_s,因为在vs上是要写成这样的,将_s删掉就可以了
    2.部分正确:没有把switch语句放到for循环,导致for循环只是输入值,没有其他作用,在if语句后打大括号,将switch语句包含在里面就可以了

    1.2 题目名2

    给定 N 个正整数,要求你从中得到下列三种计算结果:

    • A1 = 能被 3 整除的最大整数
    • A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数
    • A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)

    1.2.1 数据处理

    数据表达:这一题的变量有点多,n,i,t,a1,a2,a3,count1,count2,flag1,flag2,flag3,sum全部定义成整型变量
    数据处理:使用了for循环语句、if-else语句、switch语句,用前面两个语句将t除以3求余,然后根据求余的结果进入switch语句中,看是flag1还是flag2或是flag3,如果都不是,那就输出NONE
    伪代码:

    1.2.2 实验代码截图


    1.2.3 造测试数据

    输入数据 输出数据 说明
    8 5 8 7 6 9 1 3 10 9 3 6.5 例题上的数据
    8 15 18 7 6 9 1 3 10 18 3 NONE 例题上的数据
    5 20 13 5 6 88 6 2 12.5 测试了中间含一个比较大的数字
    6 12 56 8 99 47 99 1 37.0 测试了中间包含多个能被3整除的数据

    1.2.4 PTA提交列表及说明


    1.编译错误:在第一行的h后面空了格,导致了编译错误
    2.格式错误:在输出语句printf中用了换行符,导致了格式错误,把换行符删掉就行了
    3-7.答案错误:格式错误纠正后,就一直显示答案错误,问了同学,同学说是空格的问题,然后就在34、38、39、43、44行输出前段空格就可以了
    (这题先在vs上测试的,没想到还是错了这么多次)

    2.代码互评

    2.1同学代码截图(计科2班高茗)


    2.2自己代码截图

    2.3比较结果

    1.我们两个的代码只有一点点不一样,就是后面统计成绩等级为e的方法不一样,我是采用default:e ++; break,而她则是将各个情况都列出来了,进行计算
    2.两者都可以,可能我的代码更简单一些,但是都很不错

    2.4同学代码截图(计科3班李双)


    2.5自己代码截图


    2.6比较结果

    1.我们两个的计算方法不太一样,她没有用到for循环语句,所以月份的天数要自己去算,最后判断是否是闰年,是否+1;而我运用了for循环语句,就不用手算了
    2.我刚开始的方法和她是一样的,但总是显示错误,就把代码全部改了,通过看她的代码我也找到了我的错误在哪里(if-else语句忘记打括号了,当时找半天没找到)
    3.学习总结

    3.1 学习进度条(5分)

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第一周(9.19-3.27) 6天 26行 Hello world编程和Markdown语法 现在没有疑惑
    第二周(9.25-10.4) 4天 45行 华氏度与摄氏度的转换 对于变量的类型还不是很懂
    第三周(10.8-10.11) 3天 大约100行左右 计算分段函数和学习if-else语句 对于if-else语句还是不那么熟练
    第四周(10.15-10.17) 3天 大约75行左右 for循环语句和指定次数的循环程序设计 关于指定次数的循环程序设计还不是很清楚
    第五周(10.22-10.25) 4天 大约110行左右 使用自定义函数来编程和生成乘方表和阶乘表 关于自定义函数的编程的细节还是不太懂
    第六周(10.29-11.1) 4天 大约120行左右 运用分支结构编程、字符型数据、逻辑运算符 对于逻辑运算符还不是很清楚,有一点点懵
    第七周(11.6-11.8) 3天 大约150行左右 运用switch语句来编程 现在感觉没有什么疑惑点,可能还没发现

    3.2 累积代码行和博客字数(5分)

    3.3 学习内容总结和感悟(5分)

    3.3.1 学习内容总结



    3.3.2 学习体会

    这周学习了switch语句,并且这次作业也必须要用switch语句。其实感觉第三题用if-else语句似乎更容易。这周学的东西不难,看下书上的例题,对于switch语句就比较了解了,再通过做几道PTA的题目,又可以很快的得到巩固。最后一道题目还是有点难度的,我看了很久也没有思路。我们马上就要学习第四章:循环结构。这是在循环结构上的扩展,我们之前已经学历for循环语句,我们还将学习while和do-while语句,以及两者的不同之处。路漫漫其修远兮,吾将上下而求索。万里长征才刚起步,加油!

  • 相关阅读:
    算法的时间与空间复杂度(一看就懂)
    技术人更应该学会即兴表达
    架构设计之「数据库集群方案」
    架构设计之「数据库从主备到主主的高可用方案」
    网络中的「动态路由算法」,你了解吗?
    当你「ping 一下」的时候,你知道它背后的逻辑吗?
    不懂高性能的负载均衡设计?没关系,架构师带你飞
    piwik流量统计系统搭建(apache2.4+piwik+mysql5.6+php5.6.14)
    SQL Server 之 GROUP BY、GROUPING SETS、ROLLUP、CUBE
    CAS 实现单点登录 .NET MVC
  • 原文地址:https://www.cnblogs.com/pengqijia/p/11804750.html
Copyright © 2020-2023  润新知