第六周作业

题目7-1高速公路超速处罚

实验代码:

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

  return 0;
  
  
}

设计思路:

第一步:定义变量,并输入。

第二步:根据题意分为三类,确定使用if语句。

第三步:根据条件输出。

流程图:

遇到的问题与解决方法:

题中x精确到整数,所以对x定义错误。再不断地修改尝试之后发现错误并改正。

提交列表:

7-2 计算油费:

实验代码:

int main()
{
    int a = 0;
    float b,d,M,p;
    char c;
    scanf("%d %2f %c",&a,&b,&c);
    if( b == 90)
    {
        p = 6.95;
    }
    if( b == 93)
    {
        p = 7.44;
    }
    if( b == 97)
    {
        p = 7.93;
    }
    if( c == 'm')
    {
        d = 0.05;
    }
    if( c == 'e')
    {
        d = 0.03;
    }
    M = a * p * (1 - d);
    printf("%.2f",M);
 } 

设计思路:

第一步:定义变量,并输入。

第二步:本题中需要讨论汽油品种和服务类型两个变量,先讨论汽油种类再讨论服务类型。

第三步:在不同情况中,用不同的方式计算应付款额。

第四步:输出。

流程图:

 

遇到的问题和解决方法:

忽略了最后输出数的小数位数,导致答案错误。

提交列表:

7-3 比较大小

实验代码:

int main()
{
    int a,b,c,x,y,z;
    scanf("%d %d %d",&a,&b,&c);
    if( a > b)
    {
      x=a;
z=b; }
else { x = b; z = a; } if( c > x) { x = c; }else { if(c < z) { z = c; } } y = a + b + c - x -z; printf("%d->%d->%d",z,y,x); }

解题思路:

第一步:定义变量,并输入。

第二步:定义三个数x,y,z并区分它们之间的大小,将a,b,c进行比较,将其中最大和最小的赋给x,y,z中的最大最小值,最后通过数学计算得出y。

第四步:按照题目要求输出。

流程图:

遇到的问题和解决思路:

这道题一开始我完全不知道应该怎么去完成,因为在比较了两个数的大小之后第三个数存在不仅需要和前两个数分别比较而且存在的结果有很多种。

最终在同学的讲解中找到解题方法。

提交列表:

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

实验代码:

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

解题思路:

第一步:首先根据题意应当使用switch语句。

第二步:定义输入,根据题意输入不同算法。

第三步:输出。

流程图:

遇到的问题与解决方法:

 忘记加上braek。

提交列表:

我的git地址是:https://git.coding.net/zhouxuan12/123.git

学习总结:最近学习内容比较丰富,总的来说收获很大,但对各种语句的理解和熟练程度不够。需要更加继续努力。 

点评:

http://www.cnblogs.com/lixiaojing/p/7711650.html

http://www.cnblogs.com/fengzx/p/7745112.html

http://www.cnblogs.com/exo123/p/7737213.html

原文地址:https://www.cnblogs.com/zhouxuan99/p/7822325.html