第六周作业

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

1.实验代码

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

2.设计思路

(1)题目算法

第一步:定义整数型变量a和b,a为车速,b为限速;浮点型变量z,z为超速百分比

第二步:输入公式z=(a-b)*100.0/b

第三步:用if else写出z<10、z<50时输出的结果分别为“OK”、“Exceed %.0f%%. Ticket 200”以及"Exceed %.0f%%. License Revoked"

(2)流程图

 

 

 

 3.本题调试过程遇到的问题及解决办法

遇到的问题:编译 没有错误,但是运行的结果和PTA中给出的结果不一致

解决方法:最后

4.本题PTA提交列表

这道题出现错误很多次,一开始是没读懂题导致错误,后来明白z应该为超速的百分比,又经过多次改正,才得到正确的代码

(二)题目7-2计算油费

1.实验代码

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

2.设计思路

(1)题目算法

第一步:定义整数型变量加油量a,汽油品种b(90、93或97);定义字符型变量c(m-自助,e-协助);以及浮点型变量x,x为付款金额

第二步:列出计算公式,当服务类型是e和m时,分别输出b=90、b=93、b=97时的x值

第三步:注意题目中要求保留两位小数

第四步:输出结果

(2)流程图

3.本题调试过程遇到的问题及解决办法

遇到的问题:编译时出现错误

解决方法:询问同学,得知c==m外应该用单引号

4.本题PTA提交列表

 

一开始将浮点型变量定义错误,所以导致编译错误,然后就是和dev里面出现一样的错误,忘记加单引号,部分正确那里是最后一个计算公式写错后来改正

(三)题目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.设计思路

(1)题目算法

第一步:输入三个整数型变量a、b、c

第二步:将这三个数两两比较,并且用第四个变量t替换

第三步:输出结果

(2)流程图

3.本题调试过程遇到的问题及解决办法

这道题在课堂上老师讲过,所以没有出现问题

4.本题PTA提交列表

编译错误为符号分号打错,后来重新打终于正确

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

1.实验代码

#include <stdio.h>
int main()
{
  int a,b;
  char x;
  scanf("%d %c %d",&a,&x,&b);
  switch (x)
  {
    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)题目算法

第一步:定义整数型变量a、b;定义字符型变量x

第二步:运用switch语句执行

第三步:写出题目中所给的printf需要输出内容

(2)流程图

 

 

 3.本题调试过程遇到的问题及解决办法

遇到的问题:编译没有错误,但是运行结果出错

解决方法:参考别的同学的代码,发现char则应该定义%c

正确截图

4.本题PTA提交列表

由于switch那里没有加大括号导致编译错误

要求三

上传git地址:https://git.coding.net/sunmeiling/sunmeiling.git

截图:

要求四

本周总结

(1)本周你学习了哪些内容?收获了什么?

本周复习了if else,并且学习了比较大小与交换变量,学习了循环结构,switch的用法,运用if else打代码时,下一行需要进行缩进,学习了流程图的画法与while与do while的循环结构

 (2)本周所学内容中你觉得哪些是难点?有哪些知识点还不明白?

我觉得switch是难点,并且我不太会做流程图,知识点都能听明白,但是打代码的时候总是出错,不会运用到题目中

(3)你对目前老师的上课形式有什么意见或建议?

希望老师以后可以多带领我们复习

要求五

点评同学的博客:

孙娜:http://www.cnblogs.com/sun-na-/p/7788913.html

马宇欣:http://www.cnblogs.com/mayuxin/p/7792575.html

孙佳钰:http://www.cnblogs.com/woshisun/p/7795878.html

 折线图

表格

时间

代码行数

代码时间

博客字数

博客时间

知识点

11.5

50

30min

100

30min

复习If else

11.6

35

20min

50

15min

Switch语句

11.7

40

30min

80

25min

交换变量

posted @ 2017-11-07 22:21  孙美玲  阅读(373)  评论(14编辑  收藏  举报