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

    要求二
    题目一:高速公路超速处罚
    1.实验代码

    #include <stdio.h>
     int main()
    {
      int b,c;
      double x;
      scanf("%d %d",&b,&c);
      x=(double)(b-c)*100/(double)c;
      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)题目算法
    第一步:定义车速b,与限速c
    第二步:计算车速与限速的差值(b-c)除以限速b,得出超速度或者未超速的百分比,乘以100,得到百分比的整数位定位x
    第三步:将所得的x与10与50作比较
    第四步:x <10即为OK,否则即输出题目对应的英文

    (2)流程图:

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

    问题:之前用Devc++做的时候可以正常运行但是只限于整数部分,输入其他带小数时,则不能输出
    解决办法:同学说要用double型来定义x,将float改为了double,双精度函数,精度更高
    4.本题PTA提交列表

    题目二:计算油费
    1.实验代码

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

    2.实验思路
    (1)题目算法
    第一步:定义a,b以及定义字符c
    第二步:运用switch函数,分为三种事件:90 93 97并分别列出计算公式求x
    第三步:此事件为switch...break 的结构
    第四步:输出用printf 并且取到小数点后两位

    (2)流程图

    3.本题调试过程中碰到的问题及解决方法
    错误截图:

    遇到的问题及解决方法:
    问题:PTA显示编译部分正确,但是不知道怎么回事
    解决办法:后来询问了会的同学发现是在事件情况case后忘记用break;
    4.本题PTA提交列表

    题目三:比较大小
    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)题目算法

     第一步: 定义a,b,c,d,并再取t为可替换变量
     第二步: 比大小一共分为三种可能用if列出
     第三步: 如果a>b ,则用t替换a,另a=b,再使b=t,  即可实现转换, 如果a<b,则相反;
     第四步: 如果a>c,则用t替换a,另a=c,再使c=t,即可实现转换, 如果a<c,则相反;
     第五步: 如果b>c,则用t替换b,另b=c,再使c=t,即可实现转换,如果b<c,则相反;   
     第六步: 按照上述的大小输出最后的顺序: “ %d->%d->%d”(形式)
    

    (2)流程图

    3.本题调试过程中碰到的问题及解决方法
    错误截图:

    遇到的问题及解决方法:
    问题:可运行,但是数字不是从小到大列出的,而是从大到小排列
    解决办法:看了符号,以为从小输入就是比较水小,但是把替换的字母搞倒了,所以导致整体反过来了
    4.本题PTA提交列表

    题目四:两个数的简单计算器
    1.实验代码

    int main()  
    {  
        int num1,num2;  
        char x;  
        scanf("%d %c %d",&num1,&x,&num2);  
        switch(x){  
            case '+':  
                printf("%d",num1+num2);  
                break;  
            case '-':  
                printf("%d",num1-num2);  
                break;  
            case '*':  
                printf("%d",num1*num2);  
                break;  
            case '/':  
                printf("%d",num1/num2);  
                break;  
            case '%':  
                printf("%d",num1%num2);  
                break;  
            default:  
                printf("ERROR");  
        }  
          return 0;
    }
    

    2.实验思路
    (1)题目算法
    第一步:定义两个数num1.num2以及一个字符x(下述的符号)
    第二步:运用switch函数将事件分类,运算符为+、-、*、/、%时,在一行输出相应的运算结果
    第三步:最后输出所求的运算

    (2)流程图

    3.本题调试过程中碰到的问题及解决方法
    错误截图:

    遇到的问题及解决方法:
    输入的时候忘记其他应该用default表示,而运用了else,把switch型当作了if else型

    4.本题PTA提交列表

    要求三:
    git地址:https://git.coding.net/Iams/homework.git
    项目截图:

    要求四:
    1.本周学习了:
    (1)内容总结:
    1)在switch语句的每个语句段中都使用break语句
    switch(表达式){
    case 常量表达式1:语句段1; break;
    case 常量表达式2:语句段2; break;
    ....…
    case 常量表达式n:语句段n ; break;
    default : 语句段n+1; break;
    }
    2)如上述但是在switch中不使用break的情况
    switch(表达式){
    case 常量表达式1:语句段1;
    case 常量表达式2:语句段2;
    ....…
    case 常量表达式n:语句段n;
    default : 语句段n+1;
    }
    3) 字符型数据 :表征英文字母、符号等的数据,用char表示
    字符常量:用单引号括起来的单个普通字符或转义字符
    字符串常量:用双引号(“”)括起来的0个或者多个字符组成的字符序列
    4)调用 scanf 和 printf 输入输出字符,输入时,操作数和运算符之间不能出现空格 。
    5)交换:用一个t值替换原有的数据变量,实现将其位置调换。
    (2)遇到的问题及解决办法:
    1)课上老师在带领做替换的题目中不理解替换如何操作
    解决办法:询问了同学,用t
    2) 作业中不理解char在代码中的含义,看了书,看懂char意味着定义的是字符而并非某个特定的数
    3)在switch型中,其他要用defloat表示,而else用于if型函数
    2.点评的三位同学:
    孙 娜:http://www.cnblogs.com/sun-na-/p/7788913.html
    孙美玲:http://www.cnblogs.com/sunmeiling/p/7795932.html
    马宇欣:http://www.cnblogs.com/mayuxin/p/7792575.html
    3.表格及折线图:
    表格:

    折线图:

  • 相关阅读:
    python 全栈开发大纲
    2018/6/22 晚
    python——小知识
    变量与常量
    1.2数据结构-抽象数据类型的表示和实现
    1.1数据结构-基本概念和术语
    人机交互实践04-定位作业
    人机交互实践04-图像浮动至右边
    人机交互实践03-课堂作业2
    人机交互实践03-链接到的网页
  • 原文地址:https://www.cnblogs.com/woshisun/p/7795878.html
Copyright © 2011-2022 走看看