C 筆試題常用STL以及其他小操作使用彙總

2021-08-17 16:02:00 字數 1820 閱讀 6488

字串string

string s("lewis");

//返回乙個string 包含s中從pos開始的n個字元的拷貝 預設0-s.size()

s.substr(pos,n);

string s("lewis");

s.insert(pos,args); //在pos之前插入 注意這裡pos使用下標,使用迭代器會報錯。

s.erase(pos,len); //從pos開始刪除

s.assign(args); //使用args的內容替換s原本的字串 返回的是s的引用

s.replace(range,args) //range是乙個下標和乙個長度,或者是s的一對迭代器

//args 可以是字串str

// 也可以是str,pos,len

// cp,(len)

// n,c n個字元c

// b,e 一對迭代器

//可以說非常的靈活了

to_string(val);//把值val轉換為字串,val可以是任意算術型別

stoi(s,p,b); //返回s的起始子串(表示整數內容)的數值,b是轉換用的基數,預設是10,p是size_t指標,用來儲存s中第乙個數字的下標,p預設0即不儲存下標

stol(s,p,b);

stof(s,p,b); //l:long f: float d:double

stod(s,p,b);

關聯容器 set map

c.find(k);//返回乙個迭代器,指向第乙個關鍵字為k的元素,若k不在容器中,則返回迭代器 ==c.end()

c.count(k);//返回關鍵字等於k的元素的數量 ==0則set為空

c.equal_range(k);//返回乙個迭代器的pair,表示關鍵字等於k的元素的範圍,若k不存在,pair的兩個成員均等於c.end()

mapword_cnt;

word_cnt["hello"];//使用下標運算子的時候,如果"hello"不在map中 會使用值初始化給對應這裡的int乙個初值0

word_cnt.find("hello");//這裡則會返回尾後迭代器,不會自動生成hello的map

控制輸出位數

#include//需要包含此標頭檔案

cout << "a=" << setprecision(2) << a <靈活使用ceil() floor() 向上取整,向下取整

int a=2;

cout<>>0

>>>0

>>>1

>>>0

千萬記住要保持運算數值間的型別統一!! 尤其設計int 和 long時

vectorvalue;

//在使用accumulate求和時

if(accumulate(value.cbegin(),value.cend(),0))

cout<<"wrong!"

if(accmulate(value.cbegin(),value.cend(),0ll))

cout<<"right" <

筆試 c 筆試題

1 在派生類中通過 base 呼叫基類成員 解析 2 方法重寫使用關鍵字 override 解析 使用virtual和override關鍵字實現方法重寫 3 關於抽象類下面說法錯誤的是 選一項 a 抽象類可以包含非抽象方法 b 含有抽象方法的類一定是抽象類 c 抽象類不能被例項化 d 抽象類可以是密...

普天C 筆試題

普天是南京一家通訊公司,全稱為 南京普天通訊股份 公司 為 網上流傳一套普天c 筆試題,我將我做的答案公布與此,僅供參考。1.實現雙向鍊錶刪除乙個節點p,在節點p後插入乙個節點,寫出這兩個函式 答 假設線性表的雙向鍊錶儲存結構 typedef struct dulnodedulnode,dulink...

C語言筆試題

有a b c d四個人,要在夜裡過一座橋。他們通過這座橋分別需要耗時1 2 5 10分鐘,只有一支手電,並且同時最多只能兩個 人一起過橋。請問,如何安排,能夠在17分鐘內這四個人都過橋?答案 a b 2 mins 1 mins a c d 10 mins 2 mins b a b 2 mins 一共...