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语句,以及两者的不同之处。路漫漫其修远兮,吾将上下而求索。万里长征才刚起步,加油!

原文地址:https://www.cnblogs.com/pengqijia/p/11804750.html