• 第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

  • 相关阅读:
    LINUX学习笔记day2
    android 获取正在运行的服务
    android小部件
    android开发_国外论坛
    取消线程
    AlarmManager的使用
    PendingIntent
    SharedPreferences 的使用
    流量监听
    android 异常-access to constructor not allowed
  • 原文地址:https://www.cnblogs.com/zjy5201314/p/9900818.html
Copyright © 2020-2023  润新知