由於計算機中採用有限位的二進位制編碼,因此浮點數再計算機中的儲存並不總是精確的。例如在經過大量計算後,乙個浮點型的數3.14在計算機中就可能儲存成3.140000001也可能是3.139999999。這種情況下對我們的比較帶來極大的困擾,因為c/c++中的==符號是完全相同才能判定是true,所以需要自定義函式
const
double eps =
1e-8
//等於比較符
#define equ(a,b) ((fabs((a)-(b)))<(eps))
//大於運算子
#define more(a,b) ((a-b)>(eps))
//小於運算子
#define more(a,b) ((a-b)<(-eps))
//大於等於運算子
#define more(a,b) ((a-b)>(-eps))
//小於等於運算子
#define more(a,b) ((a-b)<(eps))
圓周率不需要死記,因為cos(π) = -1,所以acos(-1) = π
const
double pi =
acos(-
1,0)
//數值大的優先順序高
priority_queue<
int,vector<
int>
,less<
int>
> q;
//數值小的優先順序高
priority_queue<
int,vector<
int>
,greater<
int>
> q;
struct fruilt
}
pair是乙個很實用的東西,當想要將兩個元素綁在一起作為乙個合成元素,又不想要因此定義結構體時,使用pair可以很方便地作為乙個代替品。
pairint>p(
"haha",5
);auto p =
make_pair
("haha",5
);
cout << p.first << p.second;
#include
intmain()
dowhile
(next_permutation
(a,a+3)
);}
C C 常見的輸入函式總結
眾所周知,c 是在c上面延伸的,並引入物件導向的思想。今天我們不討論物件導向思想,討論一些簡單的輸入輸出函式,c 很多輸入輸出函式也可以引用c語言的,所以這邊我們做乙個總結 1 cin include using namespace std int main 輸入 jkljkljkl 輸出 jklj...
面試中常見C C 庫函式實現
yansha 字串末尾要加結束符 0 不然輸出錯位結果 char strncpy char strdes,const char strsrc,unsigned int count 查詢字串s中首次出現字元c的位置 char strchr const char str,int c int strcmp...
c c 常見演算法
遍歷資料,比較相鄰資料 大小 依次交換相鄰資料 手上17上撲克牌 從最左邊 或最右邊 相鄰撲克牌比較大小後交換位置 第一張和第二張比,最大的放最右邊。第二張和第三張比,最大的放最右邊。依此次序比完17張牌。那麼第17張為最大,將剩下的16張依上方法,在比一次。依次比剩下的15張,14,13等等等 優...