C语言第二次博客作业---分支结构
题目1:计算分段函数[2}
本题目要求计算下列分段函数f(x)的值:
1.实验代码
2 设计思路
(1)定义两个浮点型变量x,y
(2)输入x,并判断x的大小
(3)如果x>=0,则y = sqrt(x);
(4)如果x<0,则y = pow(x+1,2)+2*x+1/x
(5)y保留两位小数后输出
(6)结束算法
3.本题调试过程碰到问题及解决办法
(1)此题需要调用数学函数,而在打代码时,忘记键入#include导致程序无法运行
4.本题PTA提交列表(要提交列表,不是结果)
题目2: 输出三角形面积和周长 ##
1.实验代码
2 设计思路
(1)定义六个浮点型变量a,b,c,s,area,perimeter,其中a,b,c分别表示三角形的三条边,area = 面积; perimeter = 周长;
(2)输入三个数,并判断这三位数是否可以构成三角形
(3)如果可以构成三角形,则调用计算公式:
perimeter=a+b+c, 结果保留两位小数后输出
(4)如果不可以构成三角形,则输出These sides do not correspond to a valid triangle
(5)结束算法
3.本题调试过程碰到问题及解决办法
(1)在输入a,b,c这三个数时,误以为在scanf语句中可以控制精度,从而导致程序不可以运行
通过在网上查资料和同学的帮助下解决了问题
4.本题PTA提交列表(要提交列表,不是结果)
题目3:出租车计价 ##本题要求根据某城市普通出租车收费标准编写程序进行车费计算。
具体标准如下: 1.起步里程为3公里,起步费10元;
2.超起步里程后10公里内,每公里2元;
3.超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
4.营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)
1.实验代码
2 设计思路
(1)定义两个整型变量 minutes,cost2;其中minutes表示因堵车停留的时间,cost2表示因堵车所产生的费用;再定义三个浮点型变量 mileage,cost,cost1,其中mileage表示里程,cost1表示距离产生的费用,cost表示总费用
(2)输入里程和堵车的时间
(3)如果mileage<=3,则cost1=10;
如果 mileage<=10,则cost1 =10+(mileage-3)2
如果 mileage>10,则cost1=24+3(mileage-10)
(4)如果堵车的时间大于5,则cost2=minutes/5*2;
(5)计算总费用cost=cost1+cost2
(6)输出cost
(7)结束算法
3.本题调试过程碰到问题及解决办法
(1)在写代码时用了太多的else if语句,导致数据容易错误,最后换成了if语句的嵌套,程序就可以正确运行了
4.本题PTA提交列表(要提交列表,不是结果)
题目4:程序设计联考 ##自从湖南农业大学、吉首大学和怀化学院组织程序设计课程联考以后,举办联考的经验越来丰富。尤其是在使用PTA系统作为考试平台之后,联考工作得到了很多学校的认可和支持。所以,现在参与联考的学校比较多。为了便于区分考生,考生账号的第一位是学校代号。1代表Hunan Agricultural University,2代表Jishou University,3代表Huaihua University,4代表Aerospace University,5代表Ocean University。 请编写程序根据考生的账号区分考生的学校。
1.实验代码
2 设计思路
(1)定义两个整型变量 account,x,其中account表示输入的六位数,x表示这个六位数的首位
(2)输入一个六位数,并判断它的首位
(3)如果首位为1,则输出Hunan Agricultural University; 如果首位为2,则输出Jishou University 如果首位为3,则输出Huaihua University 如果首位为4,则输出Aerospace University 如果首位为5,则输出Ocean University 如果首位大于5,则输出OtherUniversity
(4)结束算法
3.本题调试过程碰到问题及解决办法
(1)在输入一个六位数后,忘记给x赋值,导致程序无法运行
4.本题PTA提交列表(要提交列表,不是结果)
二、截图本周题目集的PTA最后排名。
三、本周学习总结
1.你学会了什么?
(1) 学会了for循环语句的运用,但是还不是很熟练,还有循环语句必须用一对大括号括起来,组成复合语句,不然循环语句只会循环一句,下一句则会被当作下一条语句,不参与循环;
(2)在实现循环语句的时候,需要给变量附上初始值,否则无法运行;
(3)还有switch语句的运用,switch(x)里的开始时需要先进行赋值;还有用switch语句时,使用break,可以实现更多的功能;
(4)scanf语句是不能控制精度的,所以在输入时不能出现scanf("%.0f”,&a)这样的语句;
(5)在调用数学函数是,需要加上#include<math.h>,但不是有计算就得使用
2.本周的内容,你还不会什么?
(1)本周的内容应该还没有,就是if语句的嵌套,switch语句,for循环语句,这三种语句的运用还不是很熟练吧
3.你碰到什么困难,打算如何解决?
在这周 分支结构的学习中,还有switch语句用的还不是很熟练,每次敲代码的时候,都得照着书上的案例来敲,离开课本就会有点困难,可能还是平时敲的太少吧,所以以后在这方面得花更多的时间和精力。还有最近的预习作业,在还没有看过视频后,就开始做作业,导致错误率提高,下次得提前把书和视频都看完后再去做作业;还有在上课的这几周以来,都没有一个明确的时间计划表,导致每天忙得团团转,却还是事倍功半,每天都陷入熬夜赶作业的死循环,第二天上课精神状态很不好,以后得每天晚上做好第二天的时间计划,学习计划。