C语言第二次博客作业---分支结构

一、PTA实验作业

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

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

1.实验代码

    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\n",x,y);

2 设计思路

(1).首先要调用数学函数
(2).定义双精度浮点型变量x,y
(3).使用二分支结构判断函数合法性
(4).根据题目要求输出

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

(1).调用数学函数时错误,导致编译错误
(2).查询课本345页并反复调试

4.本题PTA提交列表

1233806-20171025141944441-1843360295.jpg

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

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

1.实验代码

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

2 设计思路

(1).定义整形变量a,b,c和浮点型变量area,perimeter,s
(2).使用二分支结构确定a,b,c的关系
(3).计算并输入三角形的面积公式与周长公式
(4).根据条件输出结果

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

(1).忘记调用数学函数
(2).输入s=(a+b+c)/2.o时没有0
(3).重新审题,反复调式
(4).反复调试仍没有正确,寻求同学帮助

4.本题PTA提交列表

1233806-20171025142239285-472313987.jpg

题目3:出租车计价

本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
起步里程为3公里,起步费10元;
超起步里程后10公里内,每公里2元;
超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

1.实验代码

 double mile;
  int time;
  double sum;
  scanf("%lf%d",&mile,&time);
  if(mile>0&&mile<=3){
    sum=10+(time/5)*2;
  }
  else if(mile>3&&mile<=10){
    sum=10+(mile-3)*2+(time/5)*2;
  }
  else if(mile>10){
    sum=10+7*2+(time/5)*2+(mile-10)*3;
  }
  printf("%.0f",sum);

2 设计思路

(1).定义浮点型变量mile,sum和整形变量time
(2).调用scanf()函数输入mile,time
(3).使用多分支结构if-else语句判断mile和time并计算符合条件的c语言表达式sum
(4).输出sum

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

(1).数学不过关,不会计算sum
(2).输出时没有%.0f
(3).求助同学计算车费总额的数学函数

4.本题PTA提交列表

1233806-20171025141755207-1532959879.jpg

题目4:程序设计联考

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

1.实验代码

    int account,number;
    scanf("%d",&account);
  number=account/100000;
    switch(number){
    case 1:printf("Hunan Agricultural University");break;
    case 2:printf("Jishou University");break;
    case 3:printf("Huaihua University");break;
  case 4:printf("Aerospace University");break;
    case 5:printf("Ocean University");break;
    default: printf("Other University");break;}

2 设计思路

(1).定义整型变量account,number
(2).输入账号account
(3).用 number=account/100000得出账号的第一位
(4).使用switch()语句依次输出account的学校

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

(1).一开始忘记使用switch()语句,用了多分支结构,程序特别复杂,怎么改都不对
(2).没有用number=account/100000计算出账号的第一位
(3).在同学的提醒下改正并完善,最后用dev调试正确

4.本题PTA提交列表

1233806-20171025141814644-122656526.jpg

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

1233806-20171025141915316-860744129.jpg

三、本周学习总结

1.你学会了什么?

(1).学会了使用二分支结构和多分支结构的if-else语句

(2).switch()语句的结构和执行流程

(3).逻辑运算

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

(1).字符型数据的输入输出

(2).定义变量名时还不是很清楚

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

(1).我碰到的困难可多了,首先最大的困难是时间不够用,学习,作业,社团,训练等等事情全部挤在一起,感觉生活一团糟,学习也一团糟,跟想象中的大学生活好不一样,好像还没有适应过来。

(2).上课老师说的内容感觉懂了,但一到做题时又懵了,不仅仅是c语言这一科,高数也一样,课后想说回去研究一下吧,但空闲时间被啦啦操给占用了,基本上都没有空闲的时间,本来就不是特别聪明的人,别人十几分钟可以搞定的题我可能几个小时也搞不定,经常熬夜才能把作业做成,有点力不从心。

(3).我打算重新调理一下时间,合理分配,利用好时间,把不会的课程重新复习一遍,把没有观看的专家视频也看一遍,多敲代码,至少要做到基本错误不再犯,然后空闲之余参加一些有意义的活动,做到劳逸结合。

转载于:https://www.cnblogs.com/danzhai/p/7725117.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值