PAT程式設計筆記

2022-09-06 13:21:17 字數 3302 閱讀 3925

voidtesttypeconvert()

#include #include #include using namespace std;

int main()

#include #include #include #include int main()

//定義

struct person;

//定義並且定義變數

struct personmyj=,students[2]=; //定義乙個變數或者陣列

//定義並且初始化

struct person;

struct person

}*p; //定義乙個結構體指標,用p->id訪問id變數

person student=person(10,"lili"); //定義並初始化

int

%dlong long

%lld

float

%fdouble

%lfchar

%cint

%dlong long

%lld

float

%fdouble

%fchar

%c%md

使不足m位的int變數以m位進行右端對齊,高位用空格補齊。如果超過m位擇保持原樣

%0md

不足m位時在左邊補零

fabs(double x)

取絕對值

floor(double x) ceil(double x)

向下取整 向上取整

pow(double x)

求冪sqrt(double x)

sin(double x) cos(double x) tan(double x)

round(double x)

四捨五入

只有vectorstring才允許vi.begin()+3這種迭代去加上整數的寫法

vector常見用途

儲存資料

用鄰接表儲存圖

vector常用函式

#include #include //要加標頭檔案

using namespace std;

int main()

內部自動有序且不含重複元素

set使用方法詳細常用[參考]

set集合的交並補[參考2]

set常見用途

自動去重並按公升序排列。要處理不唯一的情況適用multiset

set常用函式

size()

clear()

#include #include //要加標頭檔案

int main()

replace()-str1.replace(pos,len,str2)str1pos號位開始,長度為len的字串替換為str2

erase()

length()

size()

clear()

#include #include //要加標頭檔案

using namespace std;

int main()

//map與set組合使用,這樣乙個鍵可以對應多個值

map> m;

m["book"].insert(123);

set::iterator it=m["book"].begin();

printf("%d\n",*it);

//判斷map中key值是否存在。如果鍵不存在訪問會返回0

if (mymap.find(key) == mymap.end())

cout << "沒有這個key" << endl;

if (mymap.count(key) == 0)

cout << "no this key" << endl;

return 0;

}

front()pop()使用前要使用empty()判斷佇列是否為空

元素優先順序設定

#include #include //要加標頭檔案

using namespace std;

int main()

結構體優先順序設定

#include #include //要加標頭檔案

#include using namespace std;

struct fruit

}f1,f2;

int main()

有兩個元素的結構體

標頭檔案:#include

pair可以直接使用==<去比較,規則是先firstsecond比較

pair用途:

建立:

bool compare(int a,int b)

#include #include //要加標頭檔案

using namespace std;

int main()

; dowhile(next_permutation(a,a+3));

return 0;

}

#include #include //要加標頭檔案

using namespace std;

int main()

; fill(a,a+5,1);

return 0;

}

PAT 演算法筆記

查詢元素 圖形輸出 日期處理 進製轉換 字串處理 排序雜湊 遞迴貪心 二分two pointers 其他高校技巧與演算法 簡單數學 最大公約數與最小公倍數 分數的四則運算 素數質因子分解 大整數運算 擴充套件歐幾里得演算法 組合數 pat b1001 害死人不償命的 3n 1 猜想 pat b101...

PAT演算法筆記 八 有幾個PAT

現給定字串,問一共可以形成多少個pat?輸入只有一行,包含乙個字串,長度不超過105,只包含p a t三種字母。在一行中輸出給定字串中包含多少個pat。由於結果可能比較大,只輸出對1000000007取餘數的結果。2 include iostream include string using nam...

PAT甲 題目筆記

do not forget to useusing namespace std string to int usestr to string int string s length length str insert a character in string str.insert len 3,po...