zoukankan      html  css  js  c++  java
  • 第六周作业

    要求二

    题目7-1高速公路超速处罚
    1,实验代码

    #include<stdio.h>
    int main()
    {
    int c,s;
    double x;
       scanf("%d %d",&c,&s);
       x=(double)(c-s)*100/(double)s;
    if(x<10)
       printf("OK");
    else if(x>10&&x<50)
       printf("Exceed %.0f%%. Ticket 200",x);
    else
       printf("Exceed %.0f%%. License Revoked",x);
    return 0;
    }
    

    2,设计思路
    (1)题目算法
    第一步:理解题意,定义两个变量c,s和一个浮点型变量x,因为x为百分数,所以要用double。
    第二步:根据题意列出计算公式:超速百分比=(车速-限速)*100/限速。
    第三步:用if else语句输出三种结果。
    (2)流程图

    3,本题调试过程遇到问问题及解决方法
    (1)错误截图

    (2)遇到问题
    本题真是伤透了脑筋,刚开始读完题不知道怎么列计算公式,后来反复读题问同学知道了,但是没按照题目要求顺序输出像:先输出正常行驶,再应处罚款,最后吊销驾照。导致提交错误。(通过本题了解到想要输出一个%号,就必须用%%,因为c语言中%是个特定的字符将会和他后面的一个字符组成一个输出形式)
    4,PTA提交列表

    题目7-2计算油费
    1,实验代码

    #include<stdio.h>
    int main()
    {
      int a,b;
      char c;
      double y;
       scanf("%d %d %c",&a,&b,&c);
      if(c=='m')
      {
        switch(b){
          case 90:y=a*6.95*0.95;break;
          case 93:y=a*7.44*0.95;break;
          case 97:y=a*7.93*0.95;break;
        }
        printf("%.2f",y);
      }
      if(c=='e'){
        switch(b){
          case 90:y=a*6.95*0.97;break;
          case 93:y=a*7.44*0.97;break;
          case 97:y=a*7.93*0.97;break;
        }
        printf("%.2f",y);
      }
     return 0; 
      
    }
    

    2,设计思路
    (1)题目算法
    第一步:首先读懂题意,有两种服务类型和三种型号汽油,两种折扣形式,共有六种情况。
    第二步:用switch语句进行讨论,用int定义整数a,b,char定义字符c,定义浮点数y。
    第三步:用if区分两种服务类型,每种服务类型的三种油号类型用switch语句输出。
    (2)流程图

    3,本题调试过程遇到问题及解决方法
    (1)错误截图

    (2)遇到问题
    刚开始接触switch语句还有点不熟练,总出现错误,在服务类型为协助服务类型时输入的三种型号被我误打成为一种"90"号型号,所以导致提交错误。
    4,PTA提交列表

    题目7-3比较大小
    1,实验代码

    #include<stdio.h>
    int main()
    {
      int a,b,c,t;
      scanf("%d %d %d",&a,&b,&c);
      if(a>b){
        t=a;
        a=b;
        b=t;
      }
      if(a>c){
        t=a;
        a=c;
        c=t;
      }
      if(b>c){
        t=b;
        b=c;
        c=t;
      }
      printf("%d->%d->%d",a,b,c);
      return 0;
    }
    

    2,设计思路
    (1)题目算法
    第一步:首先理解题意,本题是比较三个数的大小,需要再找一个变量t做替换。
    第二步:用int定义a,b,c,t。
    第三步:比较a,b,c的大小,当a>b时,让t=a,a=b,b=t实现大小替换,依次进行替换。
    第四步:按照题目要求用->连接,按照由小到大的顺序输出。
    (2)流程图

    3,遇到问题及解决方法
    (1)错误截图

    (2)遇到问题
    本题是老师课上讲过的题,但是仍就出错了,将t赋值给a了,可是t并没有值,导致错误,应该是t=a。
    4,PTA提交列表

    题目7-4两个数的简单计算器
    1,实验代码

    #include <stdio.h>  
    int main()  
    {  
      int number1,number2;  
      char op;  
             scanf("%d %c %d",&number1,&op,&number2);  
      switch(op){  
         case'+':  
               printf("%d",number1+number2);break;  
         case'-':  
               printf("%d",number1-number2);break;  
         case'*':  
               printf("%d",number1*number2);break;  
         case'/':  
               printf("%d",number1/number2);break;  
         case'%':  
               printf("%d",number1%number2);break;  
         default:  
               printf("ERROR");  
        }  
          return 0;
    }
    

    2,设计思路
    (1)题目算法
    第一步:这道题用到switch语句,要求计算两个数的加减乘除和求余五种情况,还有在输入非法符号时输出“ERROR”共有六种情况。
    第二步:因为两个整数,所以用int定义函数number1,number2。定义一个运算符号用char定义函数op。
    第三步:输出两个数的加减乘除求余运算方法和非法符号的结果。
    (2)流程图

    3,遇到问题及解决方法
    (1)错误截图

    (2)遇到问题
    由于看到题目要求在除法和求余时的分母非零,所以就在switch语句输出时定义了number!=0结果导致错误,后来问同学知道只需在运行时输入非零的数就好。
    4,PTA提交列表

    要求三

    git地址
    https://git.coding.net/MAYUXIN/mayuxin.git
    截图:

    (1)学习内容及收获:
    本周学习到了一个新的 switch 语句,switch和case还有break共同组建成一种分支结构语句,还有对应流程图的画法。
    当使用 if 的嵌套语句时要进行缩进。
    while与do while的循环解构和对应的流程图画法。
    比较几个数大小时,要交换两个变量的值,并再找一个变量做替换。
    (2)内容难点及问题:
    感觉刚开始接触switch语句,还有点不好理解。比较大小时,交换两个变量的值还有点蒙,但是经过问同学和自己琢磨现在好点了。
    (3)上课形式及建议:
    对于已经上课好几周的我习惯了目前的上课形式,建议老师在讲完新的内容时能多给我们一点写程序的时间,上课的速度对我来说有点快,但是可能是进度的需要,希望能多说一下较难的知识点,只是一个建议而已。

    要求五

    (1)被点评同学作业的链接
    孙娜:http://www.cnblogs.com/sun-na-/p/7788913.html
    孙佳钰:http://www.cnblogs.com/woshisun/p/7795878.html
    孙美玲:http://www.cnblogs.com/sunmeiling/p/7795932.html
    (2)表格及折线图

  • 相关阅读:
    matplotlib数据可视化之柱形图
    xpath排坑记
    Leetcode 100. 相同的树
    Leetcode 173. 二叉搜索树迭代器
    Leetcode 199. 二叉树的右视图
    Leetcode 102. 二叉树的层次遍历
    Leetcode 96. 不同的二叉搜索树
    Leetcode 700. 二叉搜索树中的搜索
    Leetcode 2. Add Two Numbers
    Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
  • 原文地址:https://www.cnblogs.com/mayuxin/p/7792575.html
Copyright © 2011-2022 走看看