Loading

C博客作业01--分支、顺序结构

1.本章学习总结

1.1 思维导图

1.2 本章学习体会及代码量学习体会

1.2.1 学习体会

  • 通过前三章的学习和代码量积累渐渐对C语言有了一个入门的概念,由于暑假时候没有在pta上面刷题感觉自己学习进度总是落在别人后面,但是经过老师的课堂派和pta上作业的题量的练习也可以慢慢地跟上去了。
  • 经过这段时间的学习我觉得C语言的学习不能只停留在课本和视频讲解上,自以为可以记住看过的代码,其实最主要的还是打代码,从打代码中去发现问题和解决问题,也可以从中也容易记住一些代码常用语,而不至于死记硬背,
    所以每天都要有一定的代码量作为保证,熟能生巧,这样进步比较快。
  • 当然兴趣也是学习的好老师,每次从编译错误到答案错误再一次一次的进行修改到最后的题目满分就会给予我动力,增加了编写的兴趣。
  • 这段时间的学习让我注意到变量命名规范,代码规范的重要性,不仅自己可以编写过程中不会乱,其他程序员看自己代码时也会更加清楚明了。

1.2.2 代码累计

2.PTA总分

2.1图片展示


2.2 我的总分:

第一章顺序结构练习:100分
分支结构:125分
总 分:225分

3.PTA实验作业

3.1 PTA题目1

  • IT协会举办程序设计竞赛,准备购买U盘作奖品。请编写程序,根据活动经费和U盘单价预估可购买U盘的最大数量。

3.1.1 算法分析

1.定义单精度浮点变量finance表示活动经费、univalent表示U盘单价。
2.定义整型变量number表示可购买的最大数量。
3.输入变量finance、univalent。
4.number=finance/univalent+0.000001,输出number。

3.1.2 代码截图

3.1.3 测试数据

3.1.4 PTA提交列表及说明

Q1:浮点的精确度不够;
A1:可以从编译器调试上发现有精度误差,调试图1-1说明下面展示;
对finance增加0.000001精度;
Q2:出现编译上的错误;
A2:上课上用手机进行修改没有考虑到等号用了中文形式的;
Q3:double型的精度不够;
A3:将finance和univalent改为float型的并给最后number加上0.000001的精度。

图1-1

3.2 PTA题目2

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

3.2.1 算法分析

1.定义整型变量year表示年份、month表示月份、day表示日、x表示额外的天数、number表示该年中的第几天。
2.输入变量year、month、day。
3.若year%4==0且year%100!=0,或者year%400==0,则x等于1。
4.否者x等于0。
5.运用switch语句,判断month值,与case的值对应,计算case对应的numbe;
6.number=输入的month之前的每个月的天数(二月都写成28天)+x+day,输出number;
7.如果输入的月份有误,输出“error”。

3.2.2 代码


3.2.3 测试数据

3.2.4 PTA提交列表及说明

Q1:一开始输入变量后无法输出答案;
A1:再scanf下直接加了一段printf查看是不是输入的数发生改变,发现变量前忘加&符号,再将代码搬到pta中忘记删掉printf导致答案全部错误;(图片1-2展示在这段说明下面)
Q2:要考虑怎么把闰年或平年的二月天数加入计算天数;
A2:引入if-else语句进行判断x(二月额外天数),平年二月是28+0天,闰年则是28+1天。
Q3:这段代码是否会判断day大于每个月最大日期的情况;
A3:显然不行,可以引入if-else语句进行判断,但代码量会大大增加;如果题目允许可以在输入之前加一段话进行提示。

图1-2

3.3 PTA题目3

  • 本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√
    ​s(s−a)(s−b)(s−c) ,其中s=(a+b+c)/2。

3.3.1 算法分析

1.定义整型变量a,b,c分别表示三角形的三条边。
2.定义双精度浮点型变量area用于表示面积,perimeter用于表示周长,s用于表示计算area的辅助变量。
3.输入变量a,b,c。
4.若a<b+c或b<a+c或c<a+b,则三条边可以构成三角形进入area和perimeter运算。
5.s=(a+b+c)/2;
	area=pow(s*(s-a)*(s-b)*(s-c),0.5);
	perimeter=a+b+c;输出area和perimeter。
6.若不满足上面条件,则三条边不能构成三角形,直接输出"These sides do not correspond to a valid triangle"。

3.3.2 代码

3.3.3 测试数据

3.3.4 PTA提交列表及说明

Q1:判断条件有误,将判断是否是三角形的条件弄错为两边之和小于第三边;
A1:将判断更改为a<b+c和b<a+c和c<a+b;
Q2:逻辑运算符使用错误;
A2:判断是否为三角形的三种情况之间的||改为&&;
Q3:此代码不能解决三条边为实数的构成三角形的面积和周长;
A3:将a,b,c定义为双精度浮点型。

4.点评同学博客

评论1

评论2

评论3

评论4

评论5

posted @ 2018-10-11 21:52  August_丶  阅读(506)  评论(11编辑  收藏  举报