经常用到的小技巧(不定期更新)

来源:互联网 发布:财务报表编制软件 编辑:程序博客网 时间:2024/04/28 09:06

感觉有好多比较巧妙的东西总是过段时间就忘了

用到的时候再找就不是那么容易了

在这里写篇博客保存些常用的东西,利人利己

-------------------------------------------------------------------------

1、cout的输出比printf慢,大量输入时不要使用cout,不然容易TLE

如果出现一定要用或者用起来很方便的时候可以考虑加上

cin.sync_with_stdio(false);
语句来提升效率

2、cout的输出处理,有时候需要输出限定精度的小数,很多人可能会用printf,但其实cout也可以的

介绍一种常用的:

下面两行代码对应的是输出定点12位小数的结果

比如:

1.75000000000000

cout.setf(ios::fixed);//设置定点输出cout.precision(12);//设置输出位数cout.unsetf(ios::fixed); //取消定点输出

3、cout的重定向,例子如下:

#include <fstream>#include <iostream>using namespace std;int main() {ifstream in("in.txt");ofstream out("out.txt");cin.rdbuf(in.rdbuf());cout.rdbuf(out.rdbuf());cin >> str;cout << str << endl;return 0;}


4、一条语句引入c++头文件

还在为每次敲代码打头文件而头痛么?

哈哈,今天发现了一个很厉害的东东

#include <bits/stdc++.h>

百度了一下,这条语句可以引入几乎所有c++常用的头文件

亲身试了下国内几个oj只有zoj可以用(事实上zoj连php都可以用,所以我一点也不奇怪)

但是做codeforces topcoder爽一爽还是可以的大笑


5、浮点类型比较大小(精度要求)

int sgn(double x) {//判断当前x的符号,一般x为一个表达式    return (x>eps)-(x<-eps);  } 

6、c++字符串读入一行

有时候需要读取含空白字符的字符串,这时候就需要用:

cin.getline(str, len);

7、fmod函数

fmod函数用于向上取模

值得一说的是它可以用来取小数部分

比如a = 1.235

则a fmod ((int)a) = 0.235

0 0
原创粉丝点击