第二次随笔作业
作业要求:
https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2293
一.对pta作业的总结
第三周作业:这周作业我花时间较长的是第七题:计算火车运行时间,本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
我做了两遍,一遍是使用if语句进行小时上的借位,另一遍是将小时转化成分钟直接相减而得
//if语句进行小时上的借位
代码,文字描述设计思路
1 #include<stdio.h> 2 int main() 3 { 4 int a,b,c,d,f,g; 5 scanf("%d %d",&a,&b); 6 c=a%100,d=b%100;//各取两个时间的分钟数 7 f=d-c;//分钟数相减 8 g=(b-a)/100%100;//取两时间在小时上的差 9 if(f<0)//判断是否需要借位 10 f=f+60,g=g;//因为上方求小时上的差时,需要借位的话已经向小时上借位了,所以小时数不需要减一 11 else 12 f=f,g=g; 13 printf("%02d:%02d",g,f); 14 return 0; 15 }流程
错误调试和解决办法
这种方法我在小时数是否减一的地方纠结了一会,后来发现在相减的时候已经借位了。
//将小时转化成分钟直接相减而得
代码,文字描述设计思路
1 #include<stdio.h> 2 int main() 3 { 4 int a,b,c,d,f,g; 5 scanf("%d %d",&a,&b); 6 c=(a/100%100)*60+a%100;//将第一个时间全转化为分钟数 7 d=(b/100%100)*60+b%100;//将第二个时间全转化为分钟数 8 f=(d-c)/60%100,g=(d-c)%60;//,提取出小时数、分钟数,f为小时数,g为分钟数 9 printf("%02d:%02d",f,g); 10 return 0; 11 }
流程
错误调试和解决办法
这种方法就只是简单的数学计算,没出现什么错误
第四周作业:这周作业我觉得有点难度的是第三题 出租车计价
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
- 起步里程为3公里,起步费10元;
- 超起步里程后10公里内,每公里2元;
- 超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
- 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
这题内容是对出租车计费最后内容的实现,我觉得更有实际意义
代码,文字描述设计思路
我的方法是将里程收费与时间收费分开计算,然后再加起来
1 #include<stdio.h> 2 int main() 3 { 4 int b; 5 double a,c,d,e; 6 scanf("%lf %d",&a,&b);//输入行驶里程与等待时间 7 if(a<=3)//判断历程在那个区间内,并计算出在该区间内在里程上所花费的钱 8 {c=10;} 9 else if(3<=a&& a<=10) 10 {c=10+(a-3)*2;} 11 else 12 {c=10+(a-3)*2+(a-10)*1;} 13 d=b/5*2;//计算有几个五分钟并得出在分钟上花费的钱 14 e=c+d;//合计在里程、时间上花费的钱 15 printf("%.0f",e); 16 return 0; 17 }
流程
错误调试和解决办法
该题也只是分段函数的计算,没有什么问题出现
二、总结和学习进度条
这几周通过自学与课外辅导的学习,感觉自己对代码的熟练的有了很大的提升,学会了很多函数的使用。
目前大多数问题都还较为简单,还能自己解决或在互联网上学习下函数定义后自己组织完成,其中大多数问题还是集中在打错字导致的编译错误,还是需要多多练习对代码函数的理解与应用。
这几周学习了很多c语言的基本语句,基本在这两周能把他们全部涉及一遍,接下来就需要提高对于他们的理解与运用
互评和学习进度