• 第四周作业


    要求一:完成PTA的题目

    截图证明


    要求二:4道题目

    题目7-1 计算分段函数【1】

    a.实验代码

    #include <stdio.h>
    int main()
    {
      float a,b;
      scanf("%f",&a);
      if(a!=0)
      {
        b=1/a;
        printf("f(%.1f) = %.1f",a,b);
      }
      else
      printf("f(0.0) = 0.0");
      return 0;
    }
    

    b.设计思路

    (1)描述算法
    第一步:设置两个数a,b,为浮点数,其中a相当于函数里的x,b相当于函数里的y;
    第二步:输入a;
    第三步:写if语句,b=1/a的输出f(a) = b,否则输出f(0.0)=0.0;
    第四步:结束。
    注意:最后保留小数点后一位,%.1f,而不是%f
    (2)流程图

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

    (1)错误截图

    (2)问题及解决方法
    编译没问题,但是答案错误,后经发现,不等于在if语句里是!=,而不是=!,改正后即可。

    题目7-2 A除以B

    a.实验代码

    #include <stdio.h>
    int main()
    {
      int A,B;
      float C;
      scanf("%d %d",&A,&B);
       C=1.0f*A/B;
      if(B>0)
      {
      printf("%d/%d=%.2f",A,B,C);
    }
      else if(B<0)
      {
        printf("%d/(%d)=%.2f",A,B,C);
    }
      else
      {
        printf("%d/%d=Error",A,B); 
      }
      return 0;
    }
    

    b.设计思路

    (1)描述算法
    第一步:确立A、B为整型数,A除以B的得数C为浮点型数;
    第二步:输入A、B;
    第三步:写if语句,如果B>0,则输出A/B=C,如果B<0,则输出A/(B)=C,否则输出A/B=Error
    第四步:结束。
    注意:最后保留小数点后2位,%.2f,而不是%f
    (2)流程图

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

    (1)错误截图

    (2)问题及解决方法
    经过检查,发现忘记加"&"符号了,加上就正确了。

    题目7-6 阶梯电价

    a.实验代码

    #include <stdio.h>
    int main()
    {
      float a;
      scanf("%f",&a);
      if(a<=50&&a>0)
      {   
      printf("cost = %.2f",0.53*a);
    }
      else if(a>50)
      {
        printf("cost = %.2f",26.5+(a-50)*0.58);
      }
      else
      {
        printf("Invalid Value!");
      }
      return 0;
      }
    

    b.设计思路

    (1)描述算法
    第一步:设置某用户的月用电量a为浮点型;
    第二步:输入a;
    第三步:写if语句,如果a>0且a<=50,则输出花费的钱cost的值为0.53乘以a,如果a>50,则输出花费的钱cost的值为26.5+(a-50)*0.58,否则输出Invalid Value!
    第四步:结束。
    注意:小数点后保留两位,写%.2f;在if语句里&&表示“和“,输出格式要和题目保持一致,最好用的办法就是复制粘贴
    (2)流程图

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

    本题未遇见任何问题

    题目7-7 出租车计价

    a.实验代码

    #include <stdio.h>
    int main()
    {
      float a,d,e,f;
      int b,c;
      scanf("%f %d",&a,&b);
      c=b/5;
      d=10+c*2;
      e=10+2*(a-3)*1.0f+c*2;
      f=24+(a-10)*3*1.0f+c*2;
      if(a<=3)
      {
        printf("%.0f",d);
      }
      else if(a>3&&a<=10)
      {
        printf("%.0f",e);
      }
      else
      {
        printf("%.0f",f);
      }
        return 0;
    }
    

    b.设计思路

    (1)描述算法
    第一步:设置行驶里程a,3公里内所花的钱数d,10公里内所花的钱数e,总共花的钱数f为浮点型,等待时间b,每5min2元计时的个数c为整型;
    第二步:输入a,b;
    第三步:写if语句,如果a<=3,输出d的值,如果a>3且a<=10,输出e的值,否则输出f的值;
    第四步:结束。
    注意:此题要四舍五入,即在输出的时候写上%.0f
    另外,本题对我来说最大的难点是读懂题目。题目翻译一下,计价是在3公里内(包括三公里)都收10元,超出3公里以后,超出3公里,小于10公里的部分每公里加2元,大于10公里的部分每公里加3元,并且要看此人乘车用了多长时间,每5min收2元,不足5min的不收钱,比如乘车用了9min,那么就收2元,因为9min=5min+4min,4min不足5min,则只收2元。
    (2)流程图

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

    (1)错误截图

    (2)问题及解决方法
    本题无技术上的失误,就是最开始没读懂题目,在想不足5min不收钱该怎么编,后来一下想到时间除以5得到的数设为整型,如果不足5min就是0了,就做出来了

    要求三:上传代码

    (1)我的Git地址:https://git.coding.net/jsjyuyaosong/usth--work.c.git
    (2)上传代码截图:



    要求四:总结、点评及进度

    1.总结

    总的来说,这周我过的还算充实。主要就是完成PTA的作业,学习了if语句。
    (1)我知道了要想用C语言描述根号,要在开始注明有math,在后写sqrt(),就可以了;
    (2)我还学到了在平时计算的时候,float句型要写上.0f,而不是.0,写.0电脑就会用double型来处理,而不是float型;
    (3)还有就是四舍五入就是在输出的时候想取几位小数点就取几位,这样会自动四舍五入的;
    (4)再有就是在scanf中&真的总忘写,以后一定会多多注意这件事!

    2.点评

    点评同学的博客地址:
    徐铭博:http://www.cnblogs.com/xmb1547828350/p/7719018.html
    丰大为:http://www.cnblogs.com/DavidPark/p/7707156.html
    刘炜旗:http://www.cnblogs.com/ryo-/p/7731894.html

    3.进度

    学习进度表及折线图

    注意:时间的单位为分钟。

    截止至目前:

    学习进度表

    折线图

    预期学习进度表

    预期折线图

    IT小白
  • 相关阅读:
    [leetcode] Best Time to Buy and Sell Stock II
    [leetcode] Best Time to Buy and Sell Stock
    [leetcode] Binary Tree Maximum Path Sum
    [leetcode] Triangle
    [leetcode] Populating Next Right Pointers in Each Node II
    [leetcode] Pascal's Triangle II
    [leetcode] Pascal's Triangle
    第三周周总结
    基础DP
    第二周周总结
  • 原文地址:https://www.cnblogs.com/jsjyys/p/7709233.html
Copyright © 2020-2023  润新知