zoukankan      html  css  js  c++  java
  • C语言第一次实验报告

    一.   实验题目,设计思路,实现方法

    1.     第三次实验 计算分段函数(7-7 计算火车运行时间)

    设计思路:由于给出的是四位整数,而题目要求的是时间,所以先想到的是把所有位数的数字单独列出来,在考虑有分钟大和小两种情况,要分类讨论。

    实现方法:用求余的方法,分别求出小时和分钟,用if-else语句对分钟大和小两种情况进行分类,最后用%02d输出时间的格式。

    2.     第四次 分支+循环 加强版(4-2-9 三个数由小到大输出,4-2-8 计算天数)

    设计思路:2-9,2-8这两题单独拿出来是因为一开始都是用if-else模式去做,虽然最后答案也是正确,但是代码冗长,且极其容易出错,后来自学到后面才了解2-9用替换,2-8用数组代码更加简练,不容易出错。

    实现方法:2-9先把x,y,z中假设一个是最小值然后和其他两个比较,若是最小仍然不变,若不是最小则和比他小的进行替换。2-8先把月份所有的天数数据输入到数组里面,在根据情况调用数组。

    二.    源程序

    7-7


     a=m/100;
     b=m%100;
     c=n/100;
     d=n%100;
     int x,y;
     if (b<=d){
      x=c-a;
      y=d-b;
     }
     else{
      x=c-a-1;
      y=60+d-b;
     }
     

    4-2-9

       if(x>y){
        t=x;
        x=y;
        y=t;
       }
       if(x>z){
        t=x;x=z;z=t;
       }
       if(y>z){
        t=y;y=z;z=t;}
      

    4-2-8

    int year,mouth,day,i,b;
    int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    b=0;
    scanf("%d/%d/%d",&year,&mouth,&day);
    if((year%4==0&&year%100!=0)||year%400==0)a[1]=29;
    for(i=0;i<mouth-1;i++)b=b+a[i];
    b=b+day;
    printf("%d",b);

    三.    遇到的问题及解决方法,心得体会

    1.    编程最重要的就是严谨,如果不注重细节,缺少个标点符号都会导致编译错误,尤其是条件上少判断一个细节或者判断错误是最致命的,因为编译器不会报错,提交只显示部分正确,导致纠错非常困难,一开始就要考虑周全所有情况

    2.    程序员更关心速度,而不是大小,码出来的代码要尽可能的精简,一个小小的改动就可能是运行速度翻倍,所以要不断自学c后面的知识,才能知道什么时候用什么才是最简单最快捷。

    3.    遇到不会的理论或者语法,查完码完要反复使用熟练,我个人就经常学完一个理论,几天不用就忘记了,掌握一个知识点不仅仅是知道这个知识点,而是反复的实践使用,才能运用娴熟。

    4.    做题也要反复回顾,不然容易忘记,有一次别人问我之前的题目,我却忘了思路,又要重新思考,所以知识点需要不断的总结归纳,才能合理运用。

    5.    做题时思路堵塞,就不要老想用老方法生磕出来,想想有没有自己还没学的知识,或者改变思路,用全新的方法,不然即浪费时间又没有效率,即使码出来也是没有价值的冗长代码,没有起到学习的作用。

  • 相关阅读:
    hdu 1695 GCD(欧拉函数+容斥)
    hdu 5072 Coprime (容斥)
    hdu 4135 Co-prime(容斥)
    畅通工程,继续畅通工程,畅通工程再续,多种解法
    Palindrome
    括号匹配(二)(动态规划)
    搬寝室(动态规划)
    Common Subsequence(lcs)
    周赛题解
    亲和串(两种方法妙解)
  • 原文地址:https://www.cnblogs.com/zhangrongbo/p/7707868.html
Copyright © 2011-2022 走看看