zoukankan      html  css  js  c++  java
  • 吾程序猿一路编程过程中遇到的各种奇葩(或粗心不懂,或源于ACM)不断更新ing..........

      4-28:五一自己要奋斗好多东西,别太多lOL,还尼玛撸的郁闷。

          稍一不编程,手、脑袋就生,比如Input.txt................

     4-29:实在是差距挺大,加油吧!!

    GF的言论:1.身为coder,浮躁永远要不得,谨慎缜密永远压于自以为是的正确...相信事实....

                2.大牛无非三种人@@

                3.牛人在很多OJ都不经意地做过几百题,而且题目技术含量普遍比较高,稍微菜一点的刷题户基本上就死盯一个大型OJ弄上他近千题,以刷水题提升排名为主切难题提升实力为辅(转的,说的还算有点对吧...)

                4.编程是练出来的....由白书的代码理解后自己敲一遍;不放纵,不浮躁哈...这是理解的比较好的方法,然后相应UVA上面的题,想一日千里也不太现实!

                       5.自己和别人的差距(神马名校了)的确是很大的...至少没有那种氛围、压力、资源,况且又不是你一个人在战斗!

                       6.其实感觉ACM真的很爽呃...那种比赛的氛围环境与实力的比拼!

                      7.书上得来终觉浅,绝知此事就亲打...

                       8.OJ上提交得注意点,习惯冲动性改一个地方交一次,2-22 1162来了三次超时,我于是明白,吾算法不精,太莽撞.......

                       9.TY大牛说了一般没有线下打表的题....果然自己code不精....

    关于sqrt()
    1.1.#INF / inf:这个值表示“无穷大 (infinity 的缩写)”,即超出了计算机可以表示的浮点数的最大范围(或者说超过了 double 类型的最大值)。例如,当用 0 除一个整数时便会得到一个1.#INF / inf值;相应的,如果用 0 除一个负整数也会得到 -1.#INF / -inf 值。
    -1.#IND / nan:这个的情况更复杂,一般来说,它们来自于任何未定义结果(非法)的浮点数运算。"IND"是 indeterminate 的缩写,而"nan"是 not a number 的缩写。产生这个值的常见例子有:对负数开平方,对负数取对数,0.0/0.0,0.0*∞, ∞/∞ 等。简而言之,如果遇到 1.#INF / inf,就检查是否发生了运算结果溢出除零,而遇到 1.#IND / nan,就检查是否发生了非法的运算。
    2.sqrt(-10)=0
    3.同理1.0/0.0 0.0/0.0
    4.可是%d返回0 编译器不会报错
    5.1/0系统就崩溃!
    5.sqrt是返回double型


    关于输出
    1.printf("%%d\\n"); 一般情况下的字符转义是用\但是%比较特殊,用%进行转义。


    关于实践求Int double的表示范围
    1.2147483647 2的31次方-1
      -2147483648
    double型那就是64次方了呗。。2013-02-16

    数据类型如果有n个bits,那么表示范围就是:-2^n - 2^n-1
    例如:
    byte(8 bits): -2^7 - 2^7-1
    short(16 bits): -2^15 - 2^15-1
    int(32 bits): -2^31 - 2^31-1
    long(64 bits): -2^63 - 2^63-1


    int int_min()
    {  
    int n=0,i=0;
    while(n>=i)
     {
       n=i;
       i--;
     }
     return n;
    }

    int int_max()
    {
      int n=0,i=0;
      while(n<=i)
      {
         n=i;
         i++;
      }
      return n;
    }

    关于绝对值函数
    abs( int x )是求整数的绝对值的 , fabs( double x )是精确到双精度浮点型的求绝对值的 ,简单的说就是保留的精度位数更高



    以后测试实验数据都用重定向呗
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);


    吾终于明白输出格式是多么的重要了 擦!!
    一个换行或空格少了多了都不行...


    东大判断回文数

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        char str[200];
        int len,i,shit;
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
        while(scanf("%s",str)!=EOF)
        {
        shit=0;//这一步丢了可惜
        len=strlen(str);
        for( i=0;i<len/2;i++)
            if(str[i]!=str[len-1-i])
              {
                  shit=1;
                  break;
              }
        if(shit==1)
        printf("NO");
        else printf("YES");
        printf("\n");
        }
        return 0;
    }
    //现在回文数用sprintf最简单 以后也这么做


    每一次都要重置0!!!
    而不能把0置在循环语句外... 重定向一不小心就忘删了 (永不陷入消极情绪!)
    一般最后打上“\n” 还有一定要题目中输入输出的一模一样,包括大小写神马的,杨哲学长出的那几道题真让我这个菜鸟明白了哈哈!!



    scanf("%%")是读写时加%
    养成提交OJ时再稍看一眼的习惯,避免一些低级错误,如重定向,神马的


    我的getchar函数应用也存在漏洞???? 带缓冲
    getchar 的用途是从从标准输入流读取一个字符,读回车符时退出getchar();永远只向缓存中输入一个字符, getchar();的用法很多; 一种就是清空回车符 这种情况一般发生在在循环中涉及到输入的情况 还有一种是某些编译平台(IDE)在运行程序时并没有在程序运行后给人看结果的时间 这时候 在程序最后加上getchar()就能造成程序的暂停 给程序员度结果的机会用getchar时,在键盘上按一个字符后,要按回车才能读取进去;用getch时,在键盘上按一个字符马上就被读取进去,不用按回车,因此可以作为“按任意键继续”的执行语句




    我是越来越相信WA是一定有BUG的了  这种事情一旦返回了个WA 就马上考虑自己的错误  绝不会有任何郁闷心理“哎,没错呀”之类



    辗转相除法递归求最大公约数其实还不会呀
    OJ前再浏览一遍看一下有没有垃圾错误。。



    百度大神帮忙哈~~~

     1 int gcd(int a,int b)
     2 {
     3     if (0 == a*b)
     4     return a+b;
     5    if(a%b==0) return b;//这地方有缺陷的 如果b是a的倍数 嗯确定自己的粗心 而不是没有原因的错哈
     6     else
     7     {
     8         if(a>b)
     9         return gcd(b,a%b);
    10         if(a<b)
    11          gcd(a,b%a);
    12     }
    13 }   
    14 //以后应该这样 看我一行代码解决gcd
    15 int gcd(int a,int b)
    16 {
    17    return b==0?a:gcd(b,a%b);
    18 }






    OJ上也可以通过时间 长度 内存来大致看一下这道题目自己应如何把握



    C语言字符数组结束不加‘\0’结果可能出现些狗屎符号

    ---恢复内容结束---

    关于sqrt()
    1.1.#INF / inf:这个值表示“无穷大 (infinity 的缩写)”,即超出了计算机可以表示的浮点数的最大范围(或者说超过了 double 类型的最大值)。例如,当用 0 除一个整数时便会得到一个1.#INF / inf值;相应的,如果用 0 除一个负整数也会得到 -1.#INF / -inf 值。
    -1.#IND / nan:这个的情况更复杂,一般来说,它们来自于任何未定义结果(非法)的浮点数运算。"IND"是 indeterminate 的缩写,而"nan"是 not a number 的缩写。产生这个值的常见例子有:对负数开平方,对负数取对数,0.0/0.0,0.0*∞, ∞/∞ 等。简而言之,如果遇到 1.#INF / inf,就检查是否发生了运算结果溢出除零,而遇到 1.#IND / nan,就检查是否发生了非法的运算。
    2.sqrt(-10)=0
    3.同理1.0/0.0 0.0/0.0
    4.可是%d返回0 编译器不会报错
    5.1/0系统就崩溃!
    5.sqrt是返回double型


    关于输出
    1.printf("%%d\\n"); 一般情况下的字符转义是用\但是%比较特殊,用%进行转义。


    关于实践求Int double的表示范围
    1.2147483647 2的31次方-1
      -2147483648
    double型那就是64次方了呗。。

    数据类型如果有n个bits,那么表示范围就是:-2^n - 2^n-1
    例如:
    byte(8 bits): -2^7 - 2^7-1
    short(16 bits): -2^15 - 2^15-1
    int(32 bits): -2^31 - 2^31-1
    long(64 bits): -2^63 - 2^63-1


    int int_min()
    {  
    int n=0,i=0;
    while(n>=i)
     {
       n=i;
       i--;
     }
     return n;
    }

    int int_max()
    {
      int n=0,i=0;
      while(n<=i)
      {
         n=i;
         i++;
      }
      return n;
    }

    关于绝对值函数
    abs( int x )是求整数的绝对值的 , fabs( double x )是精确到双精度浮点型的求绝对值的 ,简单的说就是保留的精度位数更高



    以后测试实验数据都用重定向呗
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);


    吾终于明白输出格式是多么的重要了 擦!!
    一个换行或空格少了多了都不行...


    东大判断回文数
    #include<stdio.h>
    #include<string.h>
    int main()
    {
        char str[200];
        int len,i,shit;
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
        while(scanf("%s",str)!=EOF)
        {
        shit=0;//这一步丢了可惜
        len=strlen(str);
        for( i=0;i<len/2;i++)
            if(str[i]!=str[len-1-i])
              {
                  shit=1;
                  break;
              }
        if(shit==1)
        printf("NO");
        else printf("YES");
        printf("\n");
        }
        return 0;
    }
    每一次都要重置0!!!
    而不能把0置在循环语句外... 重定向一不小心就忘删了 (永不陷入消极情绪!)
    一般最后打上“\n” 还有一定要题目中输入输出的一模一样,包括大小写神马的,杨哲学长出的那几道题真让我这个菜鸟明白了哈哈!!



    scanf("%%")是读写时加%
    养成提交OJ时再稍看一眼的习惯,避免一些低级错误,如重定向,神马的


    我的getchar函数应用也存在漏洞???? 带缓冲
    getchar 的用途是从从标准输入流读取一个字符,读回车符时退出getchar();永远只向缓存中输入一个字符, getchar();的用法很多; 一种就是清空回车符 这种情况一般发生在在循环中涉及到输入的情况 还有一种是某些编译平台(IDE)在运行程序时并没有在程序运行后给人看结果的时间 这时候 在程序最后加上getchar()就能造成程序的暂停 给程序员度结果的机会用getchar时,在键盘上按一个字符后,要按回车才能读取进去;用getch时,在键盘上按一个字符马上就被读取进去,不用按回车,因此可以作为“按任意键继续”的执行语句




    我是越来越相信WA是一定有BUG的了  这种事情一旦返回了个WA 就马上考虑自己的错误  绝不会有任何郁闷心理“哎,没错呀”之类



    辗转相除法递归求最大公约数其实还不会呀
    OJ前再浏览一遍看一下有没有垃圾错误。。



    百度大神帮忙哈~~~
    int gcd(int a,int b)
    {
        if (0 == a*b)
        return a+b;
       if(a%b==0) return b;//这地方有缺陷的 如果b是a的倍数 嗯确定自己的粗心 而不是没有原因的错哈
        else
        {
            if(a>b)
            return gcd(b,a%b);
            if(a<b)
             gcd(a,b%a);
        }
    }   




    OJ上也可以通过时间 长度 内存来大致看一下这道题目自己应如何把握



    C语言字符数组结束不加‘\0’结果可能出现些狗屎符号]

    要想用freopen 得加上#include<stdio.h>

  • 相关阅读:
    django-模板之extends(三)
    django-模板之模板变量(二)
    django-模板之自定义模板路径(一)
    django-Views之类视图 (六)
    django-Views之使用视图渲染模板(五)
    django-Views之装饰器(四)
    django-Views之常见的几种错误视图代码(三)
    用nginx搭建http/rtmp/hls协议的MP4/FLV流媒体服务器
    通过nginx搭建hls流媒体服务器
    ffmpeg解码RTSP/TCP视频流H.264(QT界面显示视频画面)
  • 原文地址:https://www.cnblogs.com/cgf1993/p/2913652.html
Copyright © 2011-2022 走看看