• 第六周作业


    7-1高速公路超速处罚

    #include<stdio.h>
    int main()
    {
      int a,b;
      float c;
      scanf("%d %d",&a,&b);
      if(a<=1.1*b)
      {printf("OK");
      }
      else
      {
        c=(float)(a-b)/b;
      if(c<0.5)
      {printf("Exceed %.0f%%. Ticket 200",c*100);
      }
      else
      {printf("Exceed %.0f%%. License Revoked", c*100);
      }
      }
      return 0;
    }

    思路:

    第一步:输入限速和速度

    第二步:判断速度是否超过限速的百分之十

    第三步:若未超过则输出ok,若超过则计算超过多少

    第四步:判断是否超速百分之五十,若超过则输出超速多少,并吊销驾照,若未超过则输出超速多少并罚款200

    第五步:结束

    流程图

    无问题

    7-2计算油费

    #include<stdio.h>
    int main()
    {
      int A,B;
      char C;
      double F;
      scanf("%d %d %c",&A,&B,&C);
      if(C=='m')
      {
        if(B==90)
        F=A*6.95*(1-0.05);
        else if(B==93)
        F=A*7.44*(1-0.05);
        else
        F=A*7.93*(1-0.05);
      }
      else
      {
        if(B==90)
        F=A*6.95*(1-0.03);
        else if(B==93)
        F=A*7.44*(1-0.03);
        else
        F=A*7.93*(1-0.03);
      }
      printf("%.2lf",F);
    }

    思路:

    第一步:输入加油量,油的品种,服务类型

    第二步:判断服务类型选择折扣

    第三步:若是自助服务则为百分之五的折扣,若是协助服务则是百分之三的折扣

    第四步:判断油种选定不同的油价

    第五步:根据不同的判断用加油量*油价*折扣计算总花费

    第六步:输出花费

    第七步:结束

    流程图

    问题:刚开始没有摄成double,提交之后答案不正确。

    7-3比较大小

    int A,B,C,N1,N2,N3;
      scanf("%d %d %d",&A,&B,&C);
      if(A>B)
      {
        N1=A;
        N2=B;
      }
      else{
      N1=B;
      N2=A;
        
      }
      if(N1>C)
      {
        if(N2>C)
          N3=C;
          else
          {
            N3=N2;
            N2=C;
          }
      }
      else
      {
        N3=N2;
        N2=N1;
        N1=C;
      }
      printf("%d->%d->%d",N3,N2,N1);
    }

    思路:

    第一步:输入三个数a,b,c

    第二步:判读a和b的大小

    第三步:将较大的赋予N1,小的赋予N2

    第四步:判断N1与c的大小

    第五步:若c大则将c赋予N1,将N1赋予N2,将N2赋予N3.

    第六步:若c小则判断N2与c的大小

    第七步:若c大则将c赋予N2,将N2赋予N3,若c小则将c赋予N3

    第八步:按要求输出N3->N2->N1

    第九步:结束

    流程图

    无问题

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

    #include<stdio.h>
    int main()
    {
      int X,Y,N;
      char Z;
      scanf("%d %c %d",&X,&Z,&Y);
      switch(Z)
      {
      case '+':N=X+Y; printf("%d",N);break;
      case '-':N=X-Y; printf("%d",N);break;
      case '*':N=X*Y; printf("%d",N);break;
      case '/':N=X/Y; printf("%d",N);break;
      case '%':N=X%Y; printf("%d",N);break;
      default:printf("ERROR");break;
      }
    }

    思路

    第一步:输入两个数和运算符号

    第二步:用switch语句判断类型并做相应的计算

    第三步:输出结果

    流程图

    无问题

    由于作业已结束无法提交没道题的提交截图

    在本周里主要在学习switch语句,以及熟练使用if语句,在做有关选择的问题时主要是自己思路要清晰,只有构建好整个的框图才能是程序不出错。

    史泽文:http://www.cnblogs.com/shilcz/p/7822081.html

    刘炜旗:http://www.cnblogs.com/ryo-/p/7819747.html

    于耀松:http://www.cnblogs.com/jsjyys/p/7818602.html

  • 相关阅读:
    《剑指offer》Q01-12 (牛客10.11)
    北京,我来了
    pods的好处
    iOS那些你从未使用过的属性方法
    重构一个运行超过10年的老项目
    C#泛型
    认真思考创建对象的几种方式
    2014年终总结
    前端优化:AMDclean去除requirejs
    webstorm常用快捷键及插件
  • 原文地址:https://www.cnblogs.com/liuyuly/p/7822832.html
Copyright © 2020-2023  润新知