问题 |
答案 |
这个作业属于那个课程 |
C语言程序设计II |
这个作业要求在哪里 |
作业链接 |
我在这个课程的目标是 |
熟练使用if-elae语句和二分支结构 |
这个作业在那个具体方面帮助我实现目标 |
判断条件的先后顺序和如何设计一个有判断性等代码 |
参考文献 |
C语言程序设计(第3版) |
1.PTA实验作业(20分/题)
![](https://img2018.cnblogs.com/blog/1806794/201911/1806794-20191101193102638-426197448.png)
1.17-2 任务06-01-04 骑车与走路 (10 分)
题目内容描述:在北大校园里,没有自行车,上课办事会很不方便.但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间.假设找到自行车,开锁并车上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。请判断走不同的距离去办事,是骑车快还是走路快。
输入格式:
输入一行,包含一个整数,表示一次办事要行走的距离,单位为米。
输出格式:
输出一行,如果骑车快,输出一行"Bike";如果走路快,输出一行"Walk";如果一样快,输出一行"All"。
1.1.1数据处理
数据表达:我用了t1、t2、x这三个变量,其中t1、t2的值是通过相对应的表达式得到的,而x的值是通过scanf()函数赋值而来,都是整型;
数据处理:我用到两个表达式,分别为t1=50+x/3.0和t2=x/1.2,用了scanf函数和if-else语句。
1.1.2实验代码截图
![](https://img2018.cnblogs.com/blog/1806794/201911/1806794-20191101095424952-1460057143.png)
1.1.3 造测试数据
输入数据 |
输出数据 |
说明 |
120 |
Bike |
使用题目所给数据 |
0 |
Walk |
使用临界值 |
10 |
Walk |
使用较小值 |
12000 |
Bike |
使用较大值 |
1.1.4 PTA提交列表及说明
![](https://img2018.cnblogs.com/blog/1806794/201911/1806794-20191101100305883-2071852260.png)
提交列表说明:
1.部分正确:发现多了一个空格,将其删掉;
2.部分正确:在两个表达式中的速度错打成一样都是3米每秒,在计算t2时的表达式的速度是1.2米每秒,然后将其改正;
3.答案正确:改完提交正确;
1.27-5 输出闰年 (15 分)
题目内容描述:输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入格式:
输入在一行中给出21世纪的某个截止年份。
输出格式
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。
1.2.1 数据处理
数据表达:我用了cnt、y、i这三个变量,其中cnt在定义的时候就定义其值为0,然后进行循环累加而得,y是通过scanf函数赋值而得,i在循环结构中每次累加1,其初始值为2001,都是整型;
数据处理:表达式用到了y<2001||y>2100和i%4==0&&i%100!=0||i%400==0这两个,用到了判断语句和for循环结构。
1.2.2 实验代码截图
![](https://img2018.cnblogs.com/blog/1806794/201911/1806794-20191101102928231-718421290.png)
1.2.3 造测试数据
输入数据 |
输出数据 |
说明 |
2048 |
2004、2008、2012、2016、2020、2024、2028、2032、2036、2040、2044、2048 |
所以题目所给数据 |
2000 |
Invalid year! |
使用题目所给数据 |
2002 |
None |
没有闰年的情况 |
2035 |
2004、2008、2012、2016、2020、2024、2028、2032 |
任意21世纪的年份 |
1.2.4 PTA提交列表及说明
![](https://img2018.cnblogs.com/blog/1806794/201911/1806794-20191101104303569-244542602.png)
提交列表说明:
1.编译错误:在判断cnt的值为0时,只用了一个“=”;
2.部分正确:没有考虑到闰年不能让100整除,所以在判断闰年的判断括号里面加上i%100!=0;
3.部分正确:在编写输出None的代码时出现逻辑错误,然后将else改为if;
4.答案正确:改正后答案正确。
2.代码互评(5分)
同学代码截图
![](https://img2018.cnblogs.com/blog/1806794/201911/1806794-20191101193508241-1845179470.png)
![](https://img2018.cnblogs.com/blog/1806794/201911/1806794-20191102155722238-1806621498.png)
自己代码截图
![](https://img2018.cnblogs.com/blog/1806794/201911/1806794-20191101193546577-2099650064.png)
不同之处:
1.定义变量不一样;
2.我用了符号常量a[MAXN];
3.定义average的类型不一样;
4.运用了浮点型float。
3.学习总结(15分)
3.1 学习进度条(5分)
周 |
这周所花的时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
9/17-9/22 |
5小时 |
43行 |
学会写最简单的代码 |
无 |
9/24-10/4 |
6小时 |
62行 |
学会温度转换 |
无 |
10/6-10/13 |
11小时 |
86行 |
学会写函数程序 |
不知道怎么在什么情况下调用scanf()函数 |
10/14-10/20 |
10小时 |
105行 |
for循环语句和循环结构 |
不知道定义多少个变量 |
10/21-10/27 |
10.5小时 |
114行 |
学会怎样去定义一个函数和它的基本格式 |
对于函数题的编程不知道该怎么样去设计 |
10/28-11/3 |
12小时 |
135行 |
学会二分支结构和if-else语句 |
对于输入一个正整数,然后输入对应数量的数值的代码编写存在迷惑 |
3.2 累积代码行和博客字数(5分)
![](https://img2018.cnblogs.com/blog/1806794/201911/1806794-20191101113242473-820606966.png)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
本周学习了二分支结构和if-else语句,通过这两简单结构我们可以编写比较简单具有判断性质的代码。还学习了四则运算,了解字符型变量在定义时用类型名char和字符型数据。
![](https://img2018.cnblogs.com/blog/1806794/201911/1806794-20191101205726839-581929576.png)
3.3.2 学习体会
通过每次PTA的作业来看,老师布置的作业都会有点超前,可能在书后面的附近几页都找不到,但是总体上来说老师把每次PTA上面要用到的主要知识都讲了。但是老师每次都是这一节课讲上一节课布置的作业花的时间占了很大的比例,这样对于我们既有好处又有坏处。好处就是促进我们自学,坏处就是做作业会遇到很多麻烦,但是利大于弊,因为大学主要是靠自主学习。写代码需要有细心和耐心,不能急躁,急于求成,这样会带来其他的问题。