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

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

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

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

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

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值