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)学习进度条

  • 相关阅读:
    hmailserver
    用数据库管理SERV-U的用户时,如何修改密码及原理
    一个jquery的图片下拉列表 ddSlick
    图片下拉列表
    mvc 用户控件 ascx 获取 View 页面的值
    asp.net mvc 通过修改路由规则来实现页面的URL多参数传递
    tips
    让ie6/7/8兼容css3的圆角阴影等特殊效果的方法 PIE1.0.0及placeholder在这些IE下生效的方法
    IE8下ckeditor无法正常使用,提示"例外被抛出且未被接住"的解决办法
    iis6 下发布MVC2项目的方法
  • 原文地址:https://www.cnblogs.com/1999-09-22/p/7797613.html
Copyright © 2011-2022 走看看