《演算法筆記》基礎知識彙總(2)

2021-10-03 21:39:38 字數 1660 閱讀 3715

1.  getchar()輸入,可以識別換行符,把換行符當成元素輸入

疑問:putchar換行怎麼整?

2.typedef 給複雜資料型別起別名,如: typedef long long ll

3.常用 math 函式

fabs(double x) 對double變數取絕對值

abs(int x )     對 int 型變數取絕對值 

floor(double x) 向下取整

ceil(double x)  向上取整

pow(double r,double p)   求r的p次方

sqrt(double x)        double 型變數求平方根

log(double x)       返回以自然對數為底的對數

4.  if  是否等於0 小技巧

if(n) 的寫法就是  if (n!=0) 

if(!n)的意思就是  if(n==0)

5.switch 用法

#includeint main()

return 0;

}

輸出結果為:  2

分析:switch(a+b) 作為輸入條件,case 作為判斷結果,

如果(a+b)的值和case x 匹配上,則執行此條case 語句,如果都沒匹配上,則執行default  。

注意:一定要在每一條case後加上 break ,用來終止後續語句的執行。

假如說全部break忘記加了,則執行結果為:

分析錯誤原因:因為沒有加break ,就沒有終止後續語句的執行,不光滿足條件的 case 3執行了 對應的case 語句,後續的

case 4  和 default 都執行了。

6.break  和 continue

break是整體執行滿足條件後結束

continue是區域性滿足條件後跳過後面語句,繼續迴圈

7.一維陣列

陣列大小必須是整數常量,不可以是變數。

定義舉例: 

int a[10] 

double db[2333]

char str[100000]

bool hashtable[1000000]

訪問格式:

陣列名稱【下標】

注意:迴圈時候不能超過陣列容量

8.氣泡排序

交換兩個數需要借助中間變數

兩層迴圈,第一層迴圈 n-1  次,i 從1 開始,表示迴圈次數

第二層下標從0開始 ,第二層表示陣列下標

注意:如果陣列大小較大,需要把陣列定義在主函式的外面,否則程式會異常退出。

基礎知識彙總

整型int,浮點型float,複合型complex 基本不使用 字串string,布林型bool,列表list,字典dict,集合set,元組tuple 可變資料型別 list dict set 當刪除第乙個元素的時候,後面的元素向前一定了一次,而for迴圈還是要向後走一步,這樣就錯過了在沒有刪除前...

演算法筆記 演算法基礎知識

演算法是一種解決某類問題 具體的 明確無歧義的計算過程。十進位制的指數。例如 1500 1.5 10 3 數量級是3,也可以是 千 kilo 150萬 1.5 10 6 數量級是6,也可以是 百萬 million 150萬比1500大3個數量級 執行環境資源有限,需要根據輸入規模 數量級 準備資源,...

藍橋杯演算法基礎知識彙總

2 字串 3 biginteger 4 bigdecimal 5 陣列 6 eclipse快捷鍵 格式1 scanner sc newscanner new bufferedinputstream system.in 格式2 scanner sc newscanner system.in 在讀入資料...