算法比赛比较常见的一些坑点
ASCII码:小写字母比大写字母值大32
0—9: 48—57
A—Z: 65—90
a—z: 97—122
符号常量(宏定义):通俗讲就是“替换”
#include<cstdio>
#include<cmath>
#define pi acos(-1) //定义圆周率π,记为pi
int main(){
printf("%.2f", pi); //输出圆周率前两位3.14
return 0;
}
const常量:和宏定义几乎相同作用
#include<cstdio>
#include<cmath>
const double pi=acos(-1.0); //注意与宏定义格式的不同
int main(){
printf("%.2f", pi); //输出圆周率前两位3.14
return 0;
}
typedef取别名:给long long类型取别名LL,接下来代码用LL代替long long写
#include<cstdio>
typedef long long LL; //给long long类型取个别名LL
int main(){
LL num=123456789012345; //使用LL即定义long long类型
printf("%I64d", num);
return 0;
}
----------------------重点来了----------------------------
输出格式:%md(m位右对齐0); %0md(对齐且前面补0)
C语言输出%与\:printf("%%"); printf("\");
for循环或者while循环条件,表达式“!=0”可以省略,表达式"==0"可以省略表达式并在前面加上“!”
如果数组比较大(大概10^6以上,int a[1000000]),则需要定义到主函数main外面。因为函数内部申请来自系统栈,允许空间较小;函数外面申请全局变量来自静态存储区,允许空间较大
C++全面兼容C,使用C的输入输出语句scanf()与printf()比C++的cin与cout快约10倍
对于浮点型数据,不要使用float,都应用double来存储
使用符合赋值运算符,如/=、+=等可以加快编译速度,提高代码可读性