一、PTA实验作业

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

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

1.实验代码

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

2 设计思路

  • 1.定义x,y两个浮点型变量;
  • 2.输入x;
  • 3.x>=0,则按y=x^0.5输出
  • 4.x<0,按照y=(x+1)^2+2x+1/x输出

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

问题:sqrt函数,pow函数调用格式错误。
解决:翻书找格式,并熟记。

4.本题PTA提交列表

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

1.实验代码

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

2 设计思路

  • 1.定义变量a,b,c,s,area,perimeter
  • 2.s=(a+b+c)/2.0;
    area=sqrt(s(s-a)(s-b)(s-c));
    perimeter=2
    s;
  • 3.如果三角形存在则按照上公式输出,否则输出These sides do not correspond to a valid triangle

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

问题:由于 s=(a+b+c)/2.0;一开始写的除以2得不到小数,
解决:从devc上运行,并重新检查,改正

4.本题PTA提交列表

题目3:7-6 出租车计价

1.实验代码

int t;
  double km,money;
  scanf("%lf %d",&km,&t);
  if(km<=3){
    money=10+t/5*2;
  }
  else if(km>3&&km<=10){
    money=10+(km-3)*2+t/5*2;
  }
  else if(km>10){
    money=24+(km-10)*3+t/5*2;
  }
  printf("%.0f",money);

2 设计思路

  • 1.输入时间t,公里km,钱,money
  • 2.当公里小于等于3,按照 money=10+t/5*2输出
  • 3.当公里大于3且小于10,按照 money=10+(km-3)2+t/52输出
  • 4.当公里大于10按照 money=24+(km-10)3+t/52;输出

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

问题:1.没有考虑进去t,以至公式写的不对
2结果保留的输出控制符不合题目要求
3变量定义的不合题目要求
解决:从题目中找到t的信息,重新写计算公式,在devc运行得不到结果,重新更改啦输出控制符,定义出符合题目的变量型

4.本题PTA提交列表

题目4:7-8 程序设计联考

1.实验代码

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

2 设计思路

  • 1.输入编号,将编号除以100000得到首位数
  • 2.分别对应输出1~5所对应的大学
  • 3.若结果不是1~5的数字则输出Other University

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

问题:输入的控制字符没写,最后一条别的学校没输
解决:devc上发现scanf("%d",&account)错误,重新审题发现作答不完整

4.本题PTA提交列表

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

三、本周学习总结

1.你学会了什么?

学会了if else的分支语句,更加熟练了对不同类型数据的定义区别,分析问题的能力得以提升,了解到多种分支结构语句,以及不同的适用范围。逻辑运算符以及了解了ASCII码

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

对于switch语句的运用还不熟练,复杂的分支结构尚不能熟练完成,对于小数点后保留的问题尚有疑惑,sqrt函数,pow函数调用格式

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

困难:复杂的分支结构尚不能熟练完成,对于小数点后保留的问题尚有疑惑,sqrt函数,pow函数调用格式。
解决:先回顾课本内容,从基本的知识上加以巩固,之后再找一些复杂的分支结构的题目加以练习巩固,对于小数点后的保留问题,同样从课本上找例子来加以理解,sqrt函数,pow函数调用格式从课本上找到相应的知识加以熟记。

posted on 2017-10-25 13:37  aabbcc.czb  阅读(280)  评论(7编辑  收藏  举报