第六周随笔

1. PTA习题编程过程

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

1. 实验代码

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

2. 设计思路

  • 第一步 先通读题目了解要打的代码的意思,思考计算方法。
  • 第二步 打出include <stdio.h>等的固定代码。
  • 第三步 确定结果使用浮点数。
  • 第四步 确定if,else if,else的取值范围。
  • 第五步 打印结果。
  • 第六步 结束,return 0.

3. 流程图

4. 本题调试过程碰到问题及解决办法

问题:

问题截图:

  • 输出的时候,输出结果格式不正确。
  • 解决方法:重新阅读题目,发现错误,改正其错误。

4.提交列表

题目7-2计算油费

1. 实验代码

#include <stdio.h>
int main(){
  int a,b;
  char c;
  double money,cost;
  scanf("%d %d %c",&a,&b,&c);
  switch(b){
    case 90: 
      cost=a*6.95;break;
    case 93:
      cost=a*7.44;break;
    case 97:
      cost=a*7.93;break;
    default:
      break;}
  switch(c){
    case 'm':
      money=cost*(1-0.05);break;
    case 'e':
      money=cost*(1-0.03);break;
    default:
      break;}
  printf("%.2f\n",money);
  return 0;
}

2. 设计思路

  • 第一步 先通读题目了解要打的代码的意思,思考计算方法。
  • 第二步 打出固定模板。
  • 第三步 思考定义的变量,应使用int还是double还是float还是char定义,
  • 第四步 使用switch结构,判断使用的是几号汽油。
  • 第五步 使用if else语句,判断使用的服务类型。
  • 第六步 输出最后m的数值。

3. 流程图

4. 本题调试过程碰到问题及解决办法

问题:

问题截图:

解决方法:百度了double和float的区别,double的精度为8位。应该为double。

4.提交列表:

1. 题目7-3比较大小

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. 设计思路

  • 第一步 先通读题目了解要打的代码的意思,思考计算方法。
  • 第二部 打出固定模板。
  • 第三步 思考使用if else结构,颠倒abc的数值。
  • 第四部 输出结果。

3. 流程图

4. 本题调试过程碰到问题及解决办法

问题:

问题截图:

出现问题:忘记在printf中打入-。
解决方法;重读题目,仔细检查。

5. 提交列表

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

1. 实验代码

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

2. 设计思路

  • 第一步 先通读题目了解要打的代码的意思。
  • 第二步 使用switch语句。
  • 第三步 输出结果。

3. 流程图

4. 本题调试过程碰到问题及解决办法

问题:

问题截图:

  • 出现的问题错把:打成了;,再认真检查后,发现问题并改正。

5. 提交列表

git地址及上传截图

地址:https://git.coding.net/singal/test.git
截图:



知识点

  • switch与char的应用。
  • while的循环语句。

评论的博客

刘泽华:http://www.cnblogs.com/liuzehua123/p/7797461.html
赵晟惟:http://www.cnblogs.com/z024108/p/7801423.html
陈盈驰:http://www.cnblogs.com/1999-cyc/p/7795527.html

学习进度条

posted on 2017-11-07 23:27  Signal_LZQ  阅读(210)  评论(6编辑  收藏  举报