这个作业是属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | 作业要求 |
我在这个课程的目标是 | 熟练运用switch |
这个作业在那个具体方面帮助我实现目标 | 对多个题目运用if分支或者是if中套用for分支 |
参考文献 | 无 |
1.PTA实验作业
1.1:7-10 计算天数 (15 分)
本题要求编写程序计算某年某月某日是该年中的第几天。
1.1.1数据处理
数据表达:定义整型 year年 m 月,day 日 n为累加数
数据处理:
分别输入scanf %04 %02 %02 输入数据,
用if((year%40&&year%100!=0)||(year%4000))判断是否为闰年
运用switch语句,选择月份的情况,每月加上之前月份天数。
最后用n加上day的天数输出。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2009/03/02 | 61 | 正确 |
2000/03/02 | 62 | 正确 |
2009/03/03 | 62 | 正确 |
1.1.4 PTA提交列表及说明
1.此题已经做过了,所以只需要将我的if语句换成switch语句即可。答案最后输出那里将将输出的语句写在了括号内,没有分清,就出现错误。
2.全部正确:改正后全部正确。
1.2 7-13 整数的分类处理 (20 分)
给定 N 个正整数,要求你从中得到下列三种计算结果:
A1 = 能被 3 整除的最大整数
A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数
A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)
1.2.1数据处理
数据表达:
定义了整型总数n,for循环i,之后输入的数据t,用来比较大小的a1,
计数能被3整除的个数count1,计数能被3k+2整除个数count2,
标识被3整除的flag1,标识能被3k+1整除的flag2=0,标识能被3k+2整除的flag3,求和sum;
数据处理:
for 循环语句判断输入的数据
1.被3整除
2.被3k+1整除
3.被3k+2整除
分别在用switch分别跟据flag标记输出进行计算。
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 | 正确 |
1.2.4 PTA提交列表及说明
1.此题已经做过了一次,用了if else语句做的,所以只需要修改一下输出就行了。
2.代码互评
同学代码:
自己代码:
很尽力去找风格不同的代码了,都是差不多的方法。所以我打算自己抽点时间自己找寻另一个方法编写这个程序。
3.学习总结
3.1 学习进度条
日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/7--10/13 | 5个小时 | 80 | 学到了if语句 | 暂无 |
10/13--10/20 | 5个小时 | 100 | 学习for循环语句 | 暂无 |
10/20--10/27 | 5个小时 | 98 | 学习了函数定义 | 暂无 |
10/27--11/03 | 8个小时 | 196 | 学习了if分支语句,与逻辑符号先后 | 暂无 |
11/03--11/10 | 9个小时 | 210 | 学习了switch语句 | 暂无 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
学习了switch语句。根据上次写过的题目我也能清楚的理解了可以用switch语句跟一些if语句进行转换。
对于处理题目上来说更加顺手,随心。更有多种方式编程。
3.3.1 学习内容总结
3.3.2 学习体会
当了班助后,一周一下感觉自己对于自己的要求更高了,对代码的熟练度也对自己有更高的要求。更能清楚阅读代码,对代码理解更加深刻。