zoukankan      html  css  js  c++  java
  • 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上进行学习

  • 相关阅读:
    c:forTokens标签循环输出
    jsp转long类型为date,并且格式化
    spring中@Param和mybatis中@Param使用区别(暂时还没接触)
    734. Sentence Similarity 有字典数组的相似句子
    246. Strobogrammatic Number 上下对称的数字
    720. Longest Word in Dictionary 能连续拼接出来的最长单词
    599. Minimum Index Sum of Two Lists两个餐厅列表的索引和最小
    594. Longest Harmonious Subsequence强制差距为1的最长连续
    645. Set Mismatch挑出不匹配的元素和应该真正存在的元素
    409. Longest Palindrome 最长对称串
  • 原文地址:https://www.cnblogs.com/chenwenjie/p/7693544.html
Copyright © 2011-2022 走看看