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

    题目7-1 高速公路超速处罚

    1.实验代码

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

    2.设计思路

    (1)主要描述题目算法

    第一步:我首先仔细读了三遍题, 此题分为三种情况①小于限速的%10不罚款②超速%10-%20罚款200

                  ③超速50%吊销驾驶证

    第二步:我运用上课学的if-else语句,将三种情况分别列出

    if (超速小于%10)则输出Ok

    else if (超速%10-%50)则输出Exceed z%.Ticket 200

    else 则输出Exceed z%.Licence Revoked

    第三步:在De-C++上编译检查是否有 错误

    (2)流程图

    3.本题调试过程中遇到的问题 

    错误提示截图

    遇到问题

    提交总是显示答案错误

    解决办法

    我又仔细读了一遍 题,发现公式写错了,按照题目公式改正

    4.PTA提交列表

    题目7-2计算油费

    1.实验代码

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

    2.设计思路

    (1)主要描述题目算法

     第一步:仔细审题

                  ①把题分为两大类:c == 'm'还是c == 'e' ②每大类又分为三种小情况:90还是93或者是97

                  ③按照题目中的公式套用到每种情况中。

    第二步:考虑用学过的什么知识点,个人认为用switch语句比较好

                将所有的情况列出

    if (c == 'm'){
      switch(B){
        case 90:M = A * 6.95 * 0.95;break;
        case 93:M = A * 7.44 * 0.95;break;
        case 97:M = A * 7.93 * 0.95;break;
        }
    else if (c == 'e'){
        switch(B){
        case 90:M = A * 6.95 * 0.97;break;
        case 93:M = A * 7.44 * 0.97;break;
        case 97:M = A * 7.93 * 0.97;break;}
    第三步:编译运行检查是否有误。
    (2)流程图

    3.本题调试过程中遇到的问题及解决办法
    错误提示截图

    遇到的问题
    答案错误
    解决办法
    重新在自己的编译器编译发现自己把B 打成b
    4.PTA提交列表

    题目7-3比较大小
    #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 ②把三个数 两个一组分成三组③两个数之间比大小 

    第二步:   运用if-if-if语句 分为三种情况        

     1.if(a>b)
        {t=a,a=b,b=t;}
     2.if(a>c)
        {t=a,a=c,c=t;}
     3. if(b>c)
        {t=b,b=c,c=t;}

     第三步:将自己的想法打成代码,并编译运行

    (2)流程图

    3.本题调试过程中遇到的问题及解决办法

    因为这道题牛老师亲自给我讲过,没有问题。

    4.PTA提交列表

    题目7-4两个数的简单计算器

    1.实验代码

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

    2.设计思路

    (1)主要描述题目算法

    第一步:读题,要求设计一个计算器。

                  实现五种算法“+”,"-",”*“,"/","%"

    第二步:运用switch语句,分五种情况:

       ①case '+':printf("%d",x+y);break;
       ② case '-':printf("%d",x-y);break;
       ③ case '*':printf("%d",x*y);break;
       ④case '/':printf("%d",x/y);break;
       ⑤case '%':printf("%d",x%y);break;
       ⑥default :printf("ERROR
    ");break;

    第三步:编译运行

    (2)流程图

    3.本题调试过程中 遇到的问题

    错误提示截图

    遇到问题

    编译错误

    解决方法:和题目7-2对比 发现switch后的()应该有c

    4.pta提交列表

    要求三

    git地址

    https://coding.net/u/zhangle1234567/p/PTA6/git/tree/master/

    提交截图

    要求四

    个人总结

    (1)本周学到的内容

    1.复习if-else语句,新学习switch语句。

    2.再进行大小比较的问题时,可引入中间变量

    3.学会运用double/float数据

    4.字符型数据(用char定义字符变量)

    (2)难点

    在遇到新题时不会运用switch 语句,比较大小时引入中间变量不容易想出

    (3)意见

    老师在黑板上写的东西后排看不见。

    要求五

    (1)点评同学作业链接

           何宗彦http://www.cnblogs.com/hezongyan/p/7783360.html

          徐敬淇http://www.cnblogs.com/SR1011/p/7801670.html

            陈雨秋http://www.cnblogs.com/cyq66992152/p/7789995.html

    (2)学习进度条

  • 相关阅读:
    使用Intent传递类对象
    C#中关于类的序列化
    Android 中使用内存监测工具Heap,及内存分析工具 MAT
    Android Framework 记录之一
    Android 2.3发短信详细流程
    AIDL原理解析
    eclipse 快捷键
    什么时候加上android.intent.category.DEFAULT和LAUNCHER
    Monkey测试简介
    Phone状态的监听机制
  • 原文地址:https://www.cnblogs.com/1999-09-22/p/7797613.html
Copyright © 2011-2022 走看看