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


    一、PTA实验作业

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

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

    1.代码

       double x,fx;
       scanf("%lf",&x);
       if (x>=0)
       {
       	fx=pow(x,0.5);
       }
       else
       {
       	fx=(x+1)*(x+1)+2*x+1/x; 
       }
       printf("f(%.2f) = %.2f",x,fx); 
    
    

    2.设计思路

    第一步:定义双精度浮点变量x,fx
    第二步:利用if else分支结构分别计算不同情况下fx的值
    第三步:若x>=0则输出fx=pow(x,0.5)
    第四步:否则输出fx=(x+1)(x+1)+2x+1/x;
    第五步:按题目要求输出结果

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

    (1)误用中文符号,经devc检查后改正错误
    (2)未使用数学函数#include<math.h>导致输出错误,检查后发现错误
    (3)使用pow函数时应该添加#include<math.h>

    4.本题PTA提交列表

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

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

    1.代码

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

    2.设计思路

    第一步:定义整型变量a,b,c以及双精度浮点变量area,length
    第二步:利用if-else分支结构,若输入的两边之和小于第三边,则输出错误提示
    第三步:否则根据题目公式计算三角形周长以及面积
    第四步:按照题目格式输出答案

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

    (1)变量定义错误,没有根据要求定义双精度浮点型变量,导致输出错误,认真阅读课本得到解决
    (2)变量相乘没有用*导致错误,经检查发现错误

    4.本题PTA提交列表

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

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

    1.代码

    int minute,money,k;
      double l;
      scanf("%lf%d",&l,&minute);
      if(minute>=5)
      {
      k=minute/5*2;
       } 
       else
       {
       	k=0;
       }
      if(l<=3)
      {
      	printf("%d",10+k);
      }
      else if(l<=10)
      {
      	money=((10+(l-3)*2+k)+0.5)*10/10;
      	printf("%d",money);
      }
      else if(l>10)
      {
      	money=((24+(l-10)*3+k)+0.5)*10/10;
      	printf("%d",money);
    
    

    2.设计思路

    第一步:根据题目要求,定义变量
    第二步:利用if-else分支结构,分别计算题目中当起步里程为3公里,超起步里程后10公里,以及超过10公里的时所花费的费用
    第三步:用另一个分支计算当停车时长大于分钟时的额外费用
    第四步:计算总费用,按要求输出答案

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

    (1)公式错误,利用devc检查公式那一段,观测变量发现了。公式的错误
    (2)语法错误,将%lf输入成%d,多次检查后改正
    (3)设计程序时没有思路,在同学引导下逐渐得出结果

    4.本题PTA提交列表

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

    自从湖南农业大学、吉首大学和怀化学院组织程序设计课程联考以后,举办联考的经验越来丰富。尤其是在使用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;
      if(number==1)
      {
        printf("Hunan Agricultural University");
      }
       else if(number==2)
      {
        printf("Jishou University");
      }
       else if(number==3)
      {
        printf("Huaihua University");
      }
       else if(number==4)
      {
        printf("Aerospace University");
      }
       else if(number==5)
      {
        printf("Ocean University");
      }
       else
      {
        printf("Other University");
      }
    
    

    2.设计思路

    第一步:根据题目要求定义变量account和number
    第二步:利用公式求出第一位数
    第三步:利用分支结构按照题目要求输出答案

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

    (1)题目不清楚,没有说明"Other University“需要空格导致多次答案错误,尝试后得到正确结果

    4.本题PTA提交列表

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

    PTA排名

    1.你学会了什么?

    (1)分支结构的应用
    (2)利用c语言解决实际问题
    (3)学会了如何使用devc的调试功能
    (4)变量定义应该用单词而不是单个字母

    2.你还不会什么

    (1)switch语法运用的不够熟练
    (2)无法快速找出程序的错误

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

    (1)编程时容易出现语法错误,需要检查很久才能发现,应该多用编程软件,提升查错速度
    (2)还需要多做题目提升自己的能力与速度
    (3)对switch语法掌握不熟练,还需多加训练,从课本,慕课,pta上进行学习

  • 相关阅读:
    名信片定做网站
    [置顶] 数据库开发常识
    <IMG>中UserMap的用法
    阿斯钢iojeg9uhweu9erhpu9hyw49
    慎得慌二u赫然共和任务i个屁
    阿斯钢iojeg9uhw8uhy平
    2014校园招聘笔、面经历总结---华为双选会
    PDCA模型的学习
    阿斯钢 弇7人后偶尔一个味5而已
    【HTML】让<pre>标签文本自动换行
  • 原文地址:https://www.cnblogs.com/chenwenjie/p/7693544.html
Copyright © 2020-2023  润新知