第六周作业

要求二

题目一;高速公路超速的处罚

1.实验代码

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

2.设计思路

先看懂题干,分为三种情况:正常行驶和两种超速情况。 打出框架

(1)定义变量类型:超速要精确到%什么,所以定义成double类型。车速与限速 定义为整型。

(2)输入:使用scanf输入 c车速,i限速。

(3)公式:给出公式

(4)进行判断:使用if ,else if ,else分情况进行,输出相应的结果。

3.流程图

4.本题调试遇到的问题及其解决办法

错误截图:

 

问题;:这个是我最一开始打的,虽然在C++上能够运行出来,但是在PTA上却是部分错误。

解决:通过错误提示编译错误,我知道是程序写的不对,经过上网查找及问同学知道,我是对题干没有理解透彻,超速时有% 就要用浮点型double定义,并且还要有 判断的公式,公式是网上查的。

正确截图:

5.提交列表

题目二;计算油费。

1.实验代码:

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

2.设计思路

  (1)审题意,看好有三种数据类型:顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)

  (2)定义变量类型,使用scanf输入。

  (3)用if else的嵌套结构,进行使用类型及油量的不同计费。

  (4)最后输出

sorry,这个程序我没用switch进行

3.流程图

4.本题调试遇到的问题及其解决办法

错误截图:

正确截图:

问题及解决:“=”与“==”的使用,“=”是赋值,“==”是判断。即使可以运行,但是结果是不正确的,说明程序写的没问题,就是具体的字符使用错误。正确结果得301.34就对了。

5.提交列表。

题目三;比较大小。

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)书写程序框架

(2)定义4个变量,即a,b,c,t,进行替换

(3)用排列的方式将每一种 俩俩借助t进行替换比较,其中使用if条件语句

(4)根据题干要求 输出以“->”相连的结果

3.流程图

4.本题调试遇到的问题及其解决办法。

错误截图:

正确截图:

问题及解决:if那没有加{},完整的一句要 括起来的。

5.提交列表。

题目四;两个数的简单计算器。

1.实验代码

#include <stdio.h>
int main()
{
  int A,B;
  char M;
  scanf("%d %M %d",&A,&M,&B);
  switch (M)
  {
    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\n");
        break;
  }
  return 0;
}

2.设计思路

(1)写出框架,定义变量类型 int,char.

(2)运用switch语句执行

(3)输出相应的结果

3.流程图

4.本题调试遇到的问题及其解决办法。

正确运行截图:

5.提交列表

要求二

Git地址:http://coding.net/u/linmeng123/p/moshi000/git

上传截图:

要求四:

本周总结

1.进行判断时用if elseif else,或者嵌套结构进行、及其怎样画他的流程图。

2.复杂判断 使用switch语句

3.while/do while 结构

4进行比较时 要定义i+1个变量,有一个作为中间变量,能够使比较更加便捷

要求五:

评论的博客

胡俊鲜 http://www.cnblogs.com/123456hjx/

何宗彦 http://www.cnblogs.com/hezongyan/

魏鹏  http://www.cnblogs.com/WeiPeng-wuban/

 

学习进度条

时间 代码行数 博客字数 知识点
5小时 140 510 switch

折线图

 

posted on 2017-11-07 11:14  linmenga5  阅读(176)  评论(9编辑  收藏  举报

导航