第2次作业

我的第2篇随笔

2-1 PTA作业

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

 

2.1.1第三次作业

题目7-7 计算火车运行时间

【实验代码】

 1 #include <stdio.h>
 2 int main(void)
 3 {
 4     system("title 7-7 Train");
 5   int x,y,h,m;
 6   scanf("%d %d",&x,&y);
 7   h=y/100-x/100;
 8   m=y%100-x%100;
 9   
10   if(m>=0){
11   }
12   else{
13     h=h-1;
14     m=m+60;
15   }
16   
17   if(h<0){
18       h=h+24;
19       printf("%02d:%02d",h,m);
20   } 
21   else{
22       printf("%02d:%02d",h,m);
23   }
24     system("pause");
25     return 0; 
26 }

 

【解题思路】

1.      输入题目所给的格式(hhmm);

2.      将题目所给的格式转化为以下的格式(hh小时mm分钟);

3.      将小时数与分钟数分别作差;

4.      若分钟数相减为正数,直接输出结果,若分钟数为负数,则用一小时代替60分钟,将分钟的数值变成正数;

5.      输出题目要求的结果。

【运行结果】

m>=0时

 

 

m<0时

 【错误改正】

错误代码:

#include <stdio.h>
int main(void)
{
    system("title 7-7 Train");
  int x,y,h,m;
  scanf("%d %d",&x,&y);
  h=y/100-x/100;
  m=y%100-x%100;
  
  if(m>=0){
printf("%02d:%02d",h,m);
}
else{ h=h-1; m=m+60;
printf("%02d:%02d",h,m);
} system(
"pause"); return 0; }

执行此代码时,当输入小时数小于分钟数时,运行结果为负数,不合实际。

问题原因:出现此种情况,即到达时间已经在第二天,所以应该在小时数上加24

正确运行结果

 

 

2.1.2 第4次作业

题目7-2 高速公路超速处罚

【实验代码】

 1 #include <stdio.h> 
 2 int main()
 3 {
 4     system("title 7-2 Expwy");
 5     int v,lim;
 6     double a;
 7     scanf("%d %d",&v,&lim);
 8     a=(double)(v-lim)*100/(double)lim;
 9     if(a<10||v<lim)
10         printf("OK");
11     else if(a<50)
12         printf("Exceed %.0f%%. Ticket 200",a);
13     else
14         printf("Exceed %.0f%%. License Revoked",a);
15     return 0;
16 }

 

【解题思路】

1.      按照题目要求输入实际速度v与最高限速lim;

2.      根据所输入的实际速度与最高限速确定是否超速以及计算超速百分率(100*a)%;

3.      按照超速百分率的不同,输出不同的结果。

 

 

 

【错误改正】

错误代码:

1      if(a<10||v<lim)
2          printf("OK");
3      else if(a<50)
4          printf("Exceed %.0f%. Ticket 200",a);
5      else
6          printf("Exceed %.0f%. License Revoked",a);
7      return 0;

错误运行结果

错误原因:%在输出串中是用来做转义用的,输出的内容取决于它后面的字符,比如%d代表输出的是一个整数,%s输出一个字符串,因此要想输出%,就必须在%后再加一个%。(来源于百度)

【运行结果】

超速小于10%

 

超速10%以上,50%以下

 

超速50%以上

 

 

2-2 学习总结

  从开学到现在,已经过去了一个多月的时间。自己已然不是对计算机“一窍不通”的萌新了。在这一个月的时间里,我学到了很多计算机知识:C语言、Java、HTML……刚开学时老师手把手教我们如何在黑框框中显示"Hello World"。而现在,我已经学会了if else语句、for循环、switch语句还有do while循环。自己已经可以独立设计一些简单的C程序了:简易的计算器,单位转换程序,还能用C语言做一些简单的文字游戏。自己已经有了满满的成就感。

  当然,取得这样的进步也不是靠一次的成功,只是靠平时一点一滴的积累。自己在编写程序时,经常出现各种各样错误。有的错误出现的比较有价值:例如循环体中步骤顺序不同会有不同的结果;输出百分比符号时要写两个%符号……可是还有一部分错误反映了自己不够认真:例如语句结尾忘记加分号导致编译器无法编译;scanf语句中输入的变量之前忘记加与(&)符号……在编写程序时出现错误的时候,我们可以查阅课本,去百度搜索或者向老师或者同学提出自己的错误,错误被解决了,就不是问题了。另外一点就是在编写程序时不要过于追求“快”,还要追求“准”,要尽量减少一些细节性的错误。只有做好了每一点细节,才会收获最完美的成功。

下面的这幅图是我的学习情况统计图。。。

距离10万行代码的目标还很漫长,但是我相信,只要自己努力学习,勤加练习,自己的目标一定会达到!

2-3 对同学作业的点评

1.www.cnblogs.com/chumengGTRlhz/p/9885207.html

2.http://www.cnblogs.com/wengjx123/p/9872659.html

3.www.cnblogs.com/sevenG/p/9911455.html

 

posted @ 2018-11-05 20:45  WeiYukds  阅读(216)  评论(4编辑  收藏  举报