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)表格及折线图

  • 相关阅读:
    linux /dev 常见特殊设备介绍与应用[loop,null,zero,full,random]
    由web程序出现乱码开始挖掘(Bom头、字符集与乱码)
    linux shell命令快捷获得系统帮助(一)[manpages定义规范]
    定期分割tomcat输出文件 catalina.out
    readyState的五种状态
    C# FileSystemWatcher
    不用第三个变量实现a,b的值交换
    我的eWork,我能赚钱的SOHO空间
    如何网上炒股
    没有为扩展名“.html”注册的生成提供程序
  • 原文地址:https://www.cnblogs.com/mayuxin/p/7792575.html
Copyright © 2011-2022 走看看