zoukankan      html  css  js  c++  java
  • One day

    1.c的格式化输入输出:
      printf()和scanf()函数可以较好实现格式化输入输出,例子如下:
      printf("%3d",3); //结果为__3 (_为空格)
      printf("%03d%02d",5,3); //结果为 5__3
      printf("%.2lf",3.14156);//结果为3.14
      scanf("%2d",&a);//当输入流为123时,a=12
      scanf("[%2d]",&a);//当输入流为[123456][123]时,a=12
      scanf("%d-%d-%d",&a,&b,&c);//当输入流为123-1-32时,a=123,b=1,c=32
      更高级的还要限制输入字符集等功能,大家有兴趣可以百度
    2.ACM常用变量类型:
      int 32位整型变量,能表达数据范围为-2^31~2^31-1
      char 8位整型变量,能表达数据范围为0~255,可表示整数或字符,字符以ASCII码形式存储,char数组可以用于存储字符串
      double 64位浮点型变量,可表示浮点数
      float 32位浮点型变量,可表示浮点数。!!!注意,一般情况请勿用,偶尔会因为一些未知原因导致结果错误,可完全用double代替
      string 无限长度c++字符串变量,只能用cin输入,因其内置众多库函数,必要时刻可用于代替char数组,详见库函数介绍
      如果我说在gcc下long和int的范围是一样大小的,你们别伤心,所以没必要用long,要就用long long
      long long 64位整形变量,为了弥补int数据范围的不足,long long为gcc编译器(linux下)所支持的64位整形变量,范围是-2^64~2^64-1,定义格式为long long a;,输入格式为cin>>a;或者scanf("%lld",&a);输出类似。
      __int64 同long long,不同点为VC6.0等windows下编译器不支持long long,而支持__int64,输入格式为scanf("%I64d",&a);  (深大OJ用的是gcc编译器)
      指针类型及自定义类类型有兴趣自己了解
    3.编程注意事项
    1)血的教训告诉我们,记得int main()和return 0;
    2)不要用c++系统头文件的.h形式(iostream.h等)
    3)要对数据范围心里有数,爆int用long long,爆long long换想法,实在不行就尝试高精度
    4)codeblocks用的是Linux下编译器,VC6.0及VS各版本用的Windows下编译器,注意区分不同。我们OJ及大多数OJ是Linux下编译器,因此强力推荐codeblocks
    5)printf及scanf的速度比cin,cout快,当输入(输出)数据很多的时候,请用scanf(printf),不然Time Case Limit,当然,全部都用c版本输入输出是一种很好的方案。
    6)OJ的内存限制一般为65536KB,即指大概最多可开8000000左右的数组,大家在开数组时要有度,但勿吝啬,多开几十的数组是常见做法。
      尽量不要用动态分配(new,malloc,calloc等),不是指不可以,但我们已经在用它们时得到过教训(各种Runtime Error)
      大数组请定义为全局变量,因为一个函数中定义的数组大小是无法达到8000000这种数字的,一般为十万级
    7)请不要把VC6.0中允许的错误写法使用到OJ上,唯有Compile Error,且尽少在循环体里定义数据。说的是这种:
       for(int i=0;;) do something;
       for(i=0;;) do something;//你们应该知道这行中的i为未定义
    8)OJ的时间限制一般为1ms~10ms,意味着在程度运行时我们可以进行大约千万级次的循环,比如,若有四层for嵌套而每个for都100次的话,将是100*100*100*100,也将是超时Time Case Limit。
    9)少用指针
    4.常见库函数
    math.h
      sqrt(n) 求浮点数的平方根
      pow(x,y) 求x的y次方
      sin() cos() tan() asin() acos() atan() 求浮点数的三角函数,其中acos(-1.0)即PI的浮点值
      log(x) 求x的ln
      exp(x) 求e的x次方
      log10(x) 求x的lg
      fabs(x) 求浮点数x的绝对值
    stdlib.h
      abs(x) 求整型变量x的绝对值
    string.h
      strlen(s) 求char数组s[]的字符串长度
      strcpy(x,y) 把字符串y拷贝为字符串x
      strcmp(x,y) 按字典序比较x和y的大小,x小于y返回-1,x等于y返回0,x大于y返回1
      algorithm
      abs() 求x的绝对值
      sort(a,a+n) 对数组a进行升序排序,n为数组长度
    就那么多,其它的以后再了解。

  • 相关阅读:
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    72. Edit Distance
    583. Delete Operation for Two Strings
    582. Kill Process
    indexDB基本用法
    浏览器的渲染原理
    js实现txt/excel文件下载
    git 常用命令
    nginx进入 配置目录时
  • 原文地址:https://www.cnblogs.com/suiyun/p/3263914.html
Copyright © 2011-2022 走看看