C语言|博客作业07

问题 回答
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 作业要求
我在这个课程的目标是 快速的敲代码,制作出能使用的小软件
这个作业在那个具体方面帮助我实现目标 熟悉多分支结构switch语句的使用
参考文献 百度,《C语言程序设计》

1.PTA实验作业

1.1 题目1:

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

1.1.1数据处理

数据表达:使用了整形变量i,year,day,month,x,sum,用int定义,其中year,month,day分别表示年,月,日,i用来对month进行循环运算,x统计月份的天数,sum统计month与day天数的总和,即日期是该年中的第几天
数据处理:首先用if else语句判断year是否为闰年,再用switch语句对不同月份的天数分开进行计算,最后用表达式sum=x+day统计月加日总共的天数

1.1.2实验代码截图


1.1.3 造测试数据
输入 输出 说明
2001/03/25 84 3月25日是2001年的第84天
2019/11/8 312 11月8日是2019年的第312天
2008/08/18 231 8月18日是2008年的第231天
1.1.4 PTA提交列表及说明


说明
这次的题目较为简单,我先是在Dev c++上面进行编写了之后,并没有出现什么错误,之后就复制到了pta上

1.2 题目2:

给定 N 个正整数,要求你从中得到下列三种计算结果:
A1 = 能被 3 整除的最大整数
A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数
A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)

1.2.1 数据处理

数据表达:运用了整形变量N,i,x,y, sum,a,b,c,用int定义,其中N表示输入的正整数N,i用来对x进行循环运算,x表示输入的N个整数,y用在switch语句,sum统计输入的整数的总和,以计算平均值,a表示A1的答案,b表示A2的答案,sum/c表示A3的答案
数据处理:按题目要求用表达式y=%3和switch(y)对A1,A2,A3的情况进行分步运算,运算出A1,A2的结果过再用if else语句分出另外一种NONE的情况和A3的结果

1.2.2 实验代码截图


1.2.3 造测试数据
输入 输出 说明
5 13 21 7 8 4 21 3 8.0 A1的值为21,A2的值为3,A3的值为8.0
5 25 18 39 9 47 39 1 47.0 A1的值为39,A2的值为1,A3的值为47.0
7 5 90 76 32 43 4 17 90 3 18.0 A1的值为90,A2的值为3,A3的值为18.0
1.2.4 PTA提交列表及说明


说明
1.答案错误:在if语句的括号后面本来是a==0,而我是a=0,而且在开始的时候也没对a,b,c的值赋值,所以出现了答案错误
2.答案错误:开始定义a,b,c时没有给这三个变量赋初值,后来在Dev c++上看到运行的结果后发现错误

2.代码互评

同学代码截图

自己代码截图


1.该同学的输入比较复杂,其实用一个字母就可以了
2.相比之下我的代码更加简洁,我把大月与小月放在了一起讨论,而该同学是将每个月份都列出来,然后逐步相加,这样比较繁琐
同学代码截图

自己代码截图


1.该同学的代码和我的很相似,只是他先用的if else语句计算A1, A2,和成绩总和的值,而我是用的switch计算的,与他恰好相反,其它的地方基本一样,这让我知道有时候if else与switch是可以反过来使用的

3.学习总结

3.1 学习进度条

周/日期 这周所花时间 代码行 学到的知识点简介 目前比较迷惑的问题
第七周 15h 148 多分支结构switch语句的使用 对switch语句的用法还是不熟悉

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

1.这周的PTA作业相比前几周的比较简单,而且题目量比较少,就是最后一题还是借助了百度,我完成起还是比较轻松的
2.上课的时候总是状态不好,老师讲的东西我有很多不是很懂,导致我课后花费的时间比较的多
3.开始学会使用用英语单词代替代码,这样能使我的代码更加清楚易看懂,而且能提升我记单词的能力

原文地址:https://www.cnblogs.com/wangwenzhi/p/11820252.html