My Code Style of OI
参考资料: Menci's Code Style for OI
概况
- 在任何地方,不同功能的代码块应使用空行隔开
- 全局变量按照:结构体、数组、单个变量排列。
预编译指令
#include <cstdio>
#include <cstring>
#include <algorithm>
#define MAXN 1005
#define INF 2147483647
#include后面加一个空格后再写<....>- 使用
#define来定义常量,而不用const,并且末位习惯是5 - 不使用所有
.h的头文件,包括万能头文件。 - 不使用
using namespace std; <cstdio> <cstring> <algorithm>按顺序写在最前面,若有其他头文件,则依次插入在后面。
函数
inline int maxx(int a,int b){
return a>b?a:b;
}
- 非递归函数使用
inline - 不压行
- main函数放在所有函数的最后面
- STL函数使用
std::
变量与常量
- 常量大写,变量小写
- 不使用无意义的字母作为变量或常量名,而使用单词命名
- 循环变量使用
i、j、k,并且加上register - 使用
char数组而不使用string - 大数组及题目给定的变量,作为全局变量开在函数之外
语句
for(register int i=1;i<=N;++i){
...
}
while(true){
...
}
do{
...
}while(true);
if(...){
}
int a = (a + b) / 2;
- 前花括号不换行,后一个花括号与
for、while、do对齐 - 附属语句与被附属的语句之间差距一个
tab,即4个空格 - 运算符与变量名之间差一个空格

浙公网安备 33010602011771号