• 第六周作业


    (一)

    一 插入代码
    1超速处罚
    

    代码:

    #include<stdio.h>
    int main(){
      int a=0,b=0;
      double x;
      scanf("%d %d",&a,&b);
      x=(a-b)*100.0/b;
      if(x<10)
        printf("OK");
      else if(x<50)
        printf("Exceed %0.1f%%. Ticket 200",x);
      else printf("Exceed%0.1f%%. License Revoked",x);
      return 0;
    }
    
    设计思路
    a:分析题意,分出两种情况,分别是<10与<50
    b:整理思路,由提示可知该题需要用到double定义输出,并用else-if分出包括错误的三种情况
    c:检查程序,并提醒自己格式(缩进)
    流程图
    

    问题及解决办法
    


    一开始我用浮点函数定义了x,后来比较了double与float,double比float占位多,表示数据的范围更多

    2油费
    

    代码

    #include <stdio.h>
    int main(){
        int a=0,b=0;
        char c;
        double y;
         scanf("%d %d %c",&a,&b,&c);
        switch(b){
            case 90: 
                y=a*6.95;break;
            case 93:
                y=a*7.44;break;
            case 97:
                y=a*7.93;break;
            default:
                break;}
        if(c=='m')
            y=y*0.95;
        if(c=='e')
            y=y*0.97;
        printf("%.2f
    ",y);
        return 0;
    }
    
    设计思路
        a:理解题意,由题意可知,该题需要用用%0.2f定义输出变量
        b:根据提示,需要整型定义加油量a,b,并用字符变量定义类别
        c:根据提示,灵活运用switch语言,分成三种情况并完善程序
     流程图
    

     问题及解决办法
    


    在该题中我落下了default,提交时显示编译错误,找书上看时才发现错误

    3比较大小
    

    代码

    #include <stdio.h>
    int main(){
        int a=0,b=0,c=0,y=0;
         scanf ("%d %d %d",&a,&b,&c);
        if(a>b)
        {
          y=a;
          a=b;
          b=y;
        }
        if(a>c)
        {
          y=c;
          c=a;
          a=y;
        }
        if(b>c)
        {
          y=c;
          c=b;
          b=y;
        }
        printf("%d->%d->%d",a,b,c);
        return 0;
    }
    
    设计思路
        a:理解题意,输入三个数并排序
        b:定义另一个变量,方便交换数字
        c:注意输出格式,进行编程
    流程图
    

     问题及解决方法
    


    一开始以为输出的横线是—,但是后来发现是-

      4计算器
    代码
    
    #include <stdio.h>
    int main(){
      int a,b;
      char c;
      scanf("%d %c %d",&a,&c,&b);
      switch (c){
        case '+':printf("%d",a+b);break;
        case '-':printf("%d",a-b);break;
        case '*':printf("%d",a*b);break;
        case '/':printf("%d",a/b);break;
        case '%':printf("%d",a%b);break;
        default :printf("ERROR
    ");break;
      }
      return 0;
    }
    
    设计思路
        a:由题意可知,出现多个分支需要用到switch函数
        b:根据题目要求,编辑程序
    流程图
    ![](http://images2017.cnblogs.com/blog/1239285/201711/1239285-20171108200308669-1949869778.png)
    
    问题及解决办法
    

    该题目比较简单,未遇到问题

    (二)

    提交列表

    (三)

    git提交截图

    git地址
    https://git.coding.net/simalang/pta.git

    (四)

    总结
    学习并收获了switch函数的运用,以及else-if,等流程图的画法,循环结构,排序等等
    我觉得循环结构比较难,尤其是while在开始与结尾时有点分不清
    pta作业个别比较难,如果多给些提示就好了,另外我建议老师在课上或课下讲讲历年考试题,对期末会有帮助

    (五)

    点评
    1http://www.cnblogs.com/liuzehua123/p/7797461.html
    2http://www.cnblogs.com/1999-cyc/p/7795527.html
    3http://www.cnblogs.com/wangzhiheng/p/7797353.html

    表格与折线图

  • 相关阅读:
    解决ubuntu中firefox浏览器总是提示找不到server的问题
    Android学习笔记(14):相对布局RelativeLayout
    浅析java(多方面解读)
    做自己
    SGU 261. Discrete Roots (N次剩余)
    hdu1115 Lifting the Stone(几何,求多边形重心模板题)
    Android编码规范
    hdu 3790 最短路径问题
    怎样在gluster的源代码中加入自己的xlator
    处理空列表
  • 原文地址:https://www.cnblogs.com/simalang/p/7800778.html
Copyright © 2020-2023  润新知