天天看点

作业(第二次)

【作业要求】https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2292

第四次作业 题目7-3 出租车计价

1.实验代码

#include<stdio.h>
int main()
{
  int min;
  double km,pricea,priceb,pricec;
  scanf("%lf %d",&km,&min);
  if(km<=3){
    pricea=10;
  }
  else if(km<=10){
    pricea=(km-3)*2.0+10;
  }
  else{
    pricea = 10 + (10 - 3)*2.0 + (km - 10)*3.0;
  }
  priceb=min/5*2;
  pricec=pricea+priceb;
  printf("%.0f\n",pricec);
  return 0;
}      

2.解题思路

(1)题目算法:

第一步:设置整型变量min(等待时间)和浮点型变量km(公里),pricea(行驶里程费用)

               priceb(临时停车费用)以及pricec(总费用);

第二步:用if语句计算里程费用与行驶里程的关系,if语句结束后计算若有临时停车时,所产生相应费用,

               最后由“pricec=price+priceb”输出总费用,即乘客应支付的车费。

(2)流程图:

作业(第二次)

3.调试过程遇到问题:

题目理解错误,没有理解语句“超过10公里以上的部分加收50%的回空补贴费,即每公里3元;一句中“超过”

一词的含义,10公里内应为“<=10”,然而在初次编写时else if语句中给的条件却是(km<10),因此在调试时当输

入“10 0”时执行语句13(pricea = 10 + (10 - 3)*2.0 + (km - 10)*3.0;),如下:

作业(第二次)

 正确做法应为else if(k<=10),修正后在调试过程中输入10 0时会运行语句10,如下:

作业(第二次)

其次是应注意车费(pricea)在题干中要求应输出四舍五入,保留的元的值,而我将车费设置成了整型变量,因此输出格式错误,

例如,当我输入k=4.9,min=0时,正确结果应为13.8。而运行结果如下所示:

作业(第二次)

因此,应将费用pricea,parceb,pricec改为浮点型变量,且输出结果是”.0f“,这样输入同一组数据才能

四舍五入输出正确答案14:

作业(第二次)

第三次作业 题目7-7 计算火车运行时间

#include<stdio.h>
int main()
{
  int a,b,h,min;
  scanf("%d %d",&a,&b);
      h=b/100-a/100;
    min=b%100-a%100;

if(min>=0){
  printf("%02d:%02d\n",h,min);
}
else{
  h=h-1;
  min=min+60;
  printf("%02d:%02d\n",h,min);
}
  
  
  return 0;
}      

第一步:设置整型变量a(出发时间),b(到达时间),h(小时),min(分钟),应题目要求,输入格式为XXXX

(例如,出发时间为13:24应输入1324)

第二步:输入变量/100取整得h,%100取余得min;

第三步:min<10时向h借1,运行else语句

作业(第二次)

第一次时没有考虑到借位问题,当输入出发时间的分钟数值大于到达时间的分钟数值(如1355 1401)

调试时得出结果错误:

作业(第二次)

因此我添加if else语句,当min>=0时无需借位,直接运算(

h=h-1;

min=min+60;

)后输出结果

当min<0时,运行else语句:

作业(第二次)

得出正确结果:

作业(第二次)

二、总结和学习进度

在第二次,第三次作业时主要有两个问题,一是对于题目要求不注重细节,例如输出格式的空格,分号等标点

没有看清,导致多次提交显示格式错误,其次是对于if else语句运用不理想,嵌套时没有注意条件,另外有些

知识点通过上网查询后得以总结,作pta时也请教过同学,日后的学习中应提前预习,写代码时注意细节。

表格

作业(第二次)

折线图

作业(第二次)

作业点评:

1,“http://www.cnblogs.com/xiaofengqaq/p/9845665.html”

 2,"http://www.cnblogs.com/0224ming/p/9859207.html"

3,“http://www.cnblogs.com/zjy5201314/p/9900818.html“