一、PTA实验作业

题目1:计算分段函数[2]

本题目要求计算下列分段函数f(x)的值:

1.实验代码

int main(){double x,y;
scanf("%lf",&x);
if(x>=0)y=sqrt(x);
else y=pow(x+1,2)+2*x+1/x;
printf("f(%.2f) = %.2f",x,y);

2 设计思路

1.定义xy浮点型变量
2.输入xy的值
3.判断x>=0,若是则y=sqrt(x);否则执行下一步
4.y=pow(x+1,2)+2*x+1/x;
5.输出xy的值

3.本题调试过程碰到问题及解决办法

问题:
1.忘记输入#include<math.h>

2.double写成int导致输出格式错误

3.数学函数不会写
解决方法:
1.翻阅书籍找到相应的函数借鉴
2.请教舍友互相交流

4.本题PTA提交列表

题目2:输出三角形面积和周长

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

​​ ,其中s=(a+b+c)/2。

1.实验代码

int a,b,c;double s,x;
	scanf("%d%d%d",&a,&b,&c);
	if(a+b>c&&a+c>b&&c+b>a){
 s = (a+b+c)/2;
	  x = sqrt(s*(s-a)*(s-b)*(s-c));
  	printf("area = %.2f; perimeter = %.2f",x,1.0*(a+b+c));
  } else{
  	printf("These sides do not correspond to a valid triangle");

2 设计思路

1.定义sx浮点型变量,及abc三个整数变量
2.输入abc的值
3.判断(a+b>c&&a+c>b&&c+b>a),若是则执行s = (a+b+c)/2; x = sqrt(s(s-a)(s-b)(s-c));printf("area = %.2f; perimeter = %.2f",x,1.0(a+b+c)否则执行下一步
4.输出These sides do not correspond to a valid triangle

3.本题调试过程碰到问题及解决办法

问题:
1.if后忘记加入{}
2.格式错误
解决方法:
1.经过检查后发现小问题
2.通过devc++调试

4.本题PTA提交列表

题目3:出租车计价

本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:

起步里程为3公里,起步费10元;
超起步里程后10公里内,每公里2元;
超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

1.实验代码

{int time; double distance,f,f1,F;
scanf("%lf %d",&distance,&time);
if (distance<=3)f=10;
else if(distance<=10)f=10+(distance-3)*2.0;
else if (distance>10)f=24+(distance-10)*3.0;
f1=time/5*2;
F=f1+f; 
printf("%.0f",F);

2 设计思路

1.定义distance,f,f1,F浮点型变量,及time整数变量
2.输入distance,time的值
3.判断distance<=3,若是则执行f=10;否则执行下一步
4.判断distance<=10,若是则执行f=10+(distance-3)2.0;否则执行下一步
5.判断distance>10,若是则执行f=24+(distance-10)
3.0;否则执行下一步
6.f1=time/5*2;
7.F=f1+f;
8.输出F的值

4 本题调试过程碰到问题及解决办法

问题:
1.设计算法时不会设计
2.忘记加入等待时间的钱
解决方法:
1.再次阅读题目后发现问题并解决
2.先用笔在纸上写出函数后在设计程序

4.本题PTA提交列表

题目4:程序设计联考

自从湖南农业大学、吉首大学和怀化学院组织程序设计课程联考以后,举办联考的经验越来丰富。尤其是在使用PTA系统作为考试平台之后,联考工作得到了很多学校的认可和支持。所以,现在参与联考的学校比较多。为了便于区分考生,考生账号的第一位是学校代号。1代表Hunan Agricultural University,2代表Jishou University,3代表Huaihua University,4代表Aerospace University,5代表Ocean University。 请编写程序根据考生的账号区分考生的学校。

1.实验代码

{int a,b;
scanf("%d",&a);
b=a/100000;
if(b==1)printf("Hunan Agricultural University");
else if (b==2)printf("Jishou University");
else if (b==3)printf("Huaihua University");
else if (b==4)printf("Aerospace University");
else if (b==5)printf("Ocean University");
else if(b>5) printf("Other University");

2 设计思路

1.定义ab2个整数变量
2.输入a的值
3.b=a/100000;
4.判断(b1),若是则执行printf("Hunan Agricultural University");否则执行下一步
5.判断(b
2),若是则执行printf("Jishou University");否则执行下一步
6.判断(b3),若是则执行printf("Hunan Agricultural University");否则执行下一步
7.判断(b
4),若是则执行("Huaihua University");;否则执行下一步
8.判断(b==5),若是则执行("Aerospace University");否则执行下一步
9.判断(b>5),若是则执行("Other University");

3.本题调试过程碰到问题及解决办法

问题:
1.不会用 if else if 语句
2.空格少打导致格式错误

解决方法:
1.经过检查后发现小问题
2.通过看书解决

4.本题PTA提交列表

二、截图本周题目集的PTA最后排名。

三、本周学习总结

1.你学会了什么?

1.理解了IF的用法,知道了分支结构在程序中的用法
2.学会了用嵌套结构处理问题以及if else的用法

2.本周的内容,你还不会什么?

大多数都会了-.-

3.你碰到什么困难,打算如何解决?

在写嵌套型时忘记了{}但是编译时可以输出,一直找不到原因。
还有一些基本的错误也一直在犯,如a==1写成a=1导致程序错误但是也不能在编译时找出错误。
还有;还是会忘记写。
总的来说是代码量不够大,书没看仔细,我会再接再厉争取更好、!

 posted on 2017-10-20 16:23  陈张鑫  阅读(403)  评论(6编辑  收藏  举报