第六周作业

7-1高速公路超速处罚

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

解题思路:

第一步:判断是否超速

第二步:判断超速多少

第三步:根据公式计算超速的百分比以及处罚费

流程图:

本题过程无错误

7-2计算油费

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

设计思路:

第一步:判断加油的类型

第二步:判断加油的型号

第三步:根据加油量、加的型号和类型计算费用

流程图:

本题的过程无错误

7-3比较大小

#include <stdio.h>
int main()
{
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    if(a>b)
    {
        if(a>c)
        {
            if(c>b)
            {
                printf("%d->%d->%d",b,c,a);
            }else
            {
                printf("%d->%d->%d",c,b,a);
            }
        }else
        {
            printf("%d->%d->%d",b,a,c);
        }
    }else if(a<b)
    {
        if(c>b)
        {
            printf("%d->%d->%d",a,b,c);
        }else
        {
            if(a>c)
            {
                printf("%d->%d->%d",c,a,b);
            }else
            {
                printf("%d->%d->%d",a,c,b);
            }
        }
    }else if(a==b&&b==c)
    printf("%d->%d->%d",a,c,b);
}

解题思路:

第一步:先判断其中两个数的大小

第二步:判断开始的两个数中小的数与另外一个数的大小

第三步:按照顺序把排好的数输出

流程图:

本题无过程错误

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

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

解题思路:

第一步:判断计算的类型

第二步:运用公式计算数据

流程图:

 以上题目的过程均无错误

git地址:

https://git.coding.net/lr572453251/lirui.git

截图

 个人总结

本周学习了循环语句

我觉得难点是for语句比较难理解

我对老师的上课形式没什么意见

欢迎同学点评

折线图

原文地址:https://www.cnblogs.com/572453251asd/p/7811205.html