• 第六周作业


    一、

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

    设计思路:

    (1)定义出变量x,z,y,w

    (2)根据公式计算出y
    (3)判断x大于z;

    (4)输出w

    本题在编译中出现了编译错误,经过仔细检查后,发现少写了括号,改正后就对了。

    二、

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

    设计思路:
    (1)根据服务类型自助和协助可分两种情况,再根据油号自助与协助分别有三种情况,共计六种。
    (2)需要将所付费用定义成浮点数,将加油量和汽油品种定义成整数,服务类型需要用字符定义。
    (3)先用if-else区分两种服务类型,在利用if输出三种油号情况,所付费用等于加油量乘以每种油号所需的费用再减去优惠的部分。

    本题在编译中未出现错误

    三、

    #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;
    }
    

    设计思路
    (1)题目要求比较三个数的大小,需要找一个变量做替换。
    (2)三个数都是整数,用int定义a,b,c及一个替换量t。
    (3)依次比较a,b,c的大小。a>b时,让t=a,a=b,b=t实现大小替换。a>c及b>c时也采用类似的方法进行替换。
    (4)最后按照由大到小的顺序输出,按题目要求用->连接。

    本题在编译中未出现错误
    四、

    #include <stdio.h>
    int main()
    {
      int a,b;
      char ch;
      scanf("%d %c %d",&a,&ch,&b);
      switch (ch)
      {
        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;
    }
    

    设计思路
    (1)又有字符的定义,用到char,在scanf中用%c定义。
    (2)必须是switch的语句,有固定的格式,套用就可以了,case加运算符,结尾处用到break。不符合题意的用default进行概括,输出ERROR。

    本题一开始是部分正确,后来发现是没写 case'%':printf("%d",A%B);break; ,补充后就对了。
    我的git地址:https://git.coding.net/zgq459947/EDG.git

    学习总结:本周学习内容(涉及知识点):
    1、使用%.0f表示对这个输出的数四舍五入。
    2、switch选择结构以及流程图的画法。
    3、while与do while的循环结构,以及流程图的画法。
    4、当使用if的嵌套语句结构时,需要对语句进行缩进。5、流程图的画法。
    难点switch语句结构比较复杂,需要注意的点比较多,不容易及时想起,运用的时候也有一些错误。
    意见和建议:老师上课的速度比较,并且把大量的时间都用来讲了很简单的知识点,老师应该把时间多讲一些比较难理解的知识点,并且多写程序,个人觉得,每一次作业,用在编程上的时间很少,大量的时间都花在写博客上了,是不是可以适当地减少博客的内容,多出些编程的题,博客主要用来提出问题,解决问题。
    PTA提交列表:

    学习进度与互评


    互评
    赵寅胜:http://www.cnblogs.com/2017023960ZYS/p/7800966.html
    于耀淞:http://www.cnblogs.com/jsjyys/p/7818602.html
    黄国戎:http://www.cnblogs.com/hgr123/p/7819951.html

  • 相关阅读:
    web-9. 动态网页与数据库-2
    web-9. 动态网页与数据库
    web-8. 多框架页面的创建
    web-7. 丰富页面的多媒体
    web-6. 组织页面的表格
    yocto术语二
    yocto术语
    linux source
    linux 添加环境变量
    ubuntu上网
  • 原文地址:https://www.cnblogs.com/zgq947/p/7822443.html
Copyright © 2020-2023  润新知