每日練習 2

2021-09-18 04:19:29 字數 3285 閱讀 8118

華為2023年機試題目(共2題)
時間限制:1秒

空間限制:65536k

老師想知道從某某同學當中,分數最高的是多少,現在請你程式設計模擬老師的詢問。當然,老師有時候需要更新某位同學的成績.

輸入描述:

輸入包括多組測試資料。

每組輸入第一行是兩個正整數n和m(0 < n <= 30000,0 < m < 5000),分別代表學生的數目和操作的數目。

學生id編號從1編到n。

第二行包含n個整數,代表這n個學生的初始成績,其中第i個數代表id為i的學生的成績

接下來又m行,每一行有乙個字元c(只取『q』或『u』),和兩個正整數a,b,當c為'q'的時候, 表示這是一條詢問操作,他詢問id從a到b(包括a,b)的學生當中,成績最高的是多少

當c為『u』的時候,表示這是一條更新操作,要求把id為a的學生的成績更改為b。

輸出描述:

對於每一次詢問操作,在一行裡面輸出最高成績.
輸入例子1:

5 7

1 2 3 4 5

q 1 5

u 3 6

q 3 4

q 4 5

u 4 5

u 2 9

q 1 5

輸出例子1:

565

9

#include #include #include using namespace std;

//okban

double get_maxscore(vector&score,int num1,int num2);

int letlatertobebefore(vector&score,int num1,int num2);

int getscore(vector&scorestr,vector&score);

int main()

getline(cin,scorestr);

// cout << scorestr << endl;

for(vector::size_type i = 0;i < scorestr.size();i++)

scorechar.push_back(scorestr[i]);

// for(auto i :scorechar)

// cout << i << endl;

// cout << "hello1" << endl;

if(getscore(scorechar,score))//將第二行輸入的分數字串轉換為對應的分數陣列

return 0;

// cout << "hello2" << endl;

// for(auto i : score)

// cout << i << endl;

// cout << "hello3" << "score.size()" << score.size() << endl;

while(j < m)

if(flagalp == 'u')

if(letlatertobebefore(score,num1,num2))

return 0;

j++;

}for(decltype(ans.begin()) i = ans.begin();i != ans.end();i++)

cout << *i << endl;

}return 0;

}int getscore(vector&scorestr,vector&score)

else

sum = 0;

}i++;

if(i == scorestr.size())

}return 0;

}double get_maxscore(vector&score,int num1,int num2)

}if(num1 > num2)

}if(num1 == num2)

max_score = score[num1-1];

return max_score;

}else

return -1;

}int letlatertobebefore(vector&score,int num1,int num2)

本地是ok的

開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的**所在的檔名稱和行號。 

處理:1.記錄最多8條錯誤記錄,對相同的錯誤記錄(即檔名稱和行號完全匹配)只記錄一條,錯誤計數增加;(檔案所在的目錄不同,檔名和行號相同也要合併)

2.超過16個字元的檔名稱,只記錄檔案的最後有效16個字元;(如果檔名不同,而只是檔名的後16個字元和行號相同,也不要合併)

3.輸入的檔案可能帶路徑,記錄檔名稱不能帶路徑

輸入描述:

一行或多行字串。每行包括帶路徑檔名稱,行號,以空格隔開。

檔案路徑為windows格式

如:e:\v1r2\product\fpgadrive.c 1325

輸出描述:

將所有的記錄統計並將結果輸出,格式:檔名**行數數目,乙個空格隔開,如: fpgadrive.c 1325 1 

結果根據數目從多到少排序,數目相同的情況下,按照輸入第一次出現順序排序。

如果超過8條記錄,則只輸出前8條記錄.

如果檔名的長度超過16個字元,則只輸出後16個字元

輸入例子1:

e:\v1r2\product\fpgadrive.c 1325
輸出例子1:

fpgadrive.c 1325 1

每日練習 5

c c 1 clone是fork的公升級版本,不僅可以建立程序或者執行緒,還可以指定建立新的命名空間 namespace 有選擇的繼承父程序的記憶體 甚至可以將建立出來的程序變成父程序的兄弟程序等等 2 引用和多型的關係 引用可以作為產生多型效果的手段 3 include void f char p...

每日練習 14

c 1.void func char p 10 p是裝10個char型別資料的陣列的引用,其結果類似於char p 10 printf d n sizeof p 2.在組合時,在組合類的析構函式中不需要顯式呼叫其成員物件的析構函式 3.int main 注意沒有 n就不會輸出,會被儲存在緩衝區中 4...

每日練習20171101

我們要使用靜態成員 方法和變數 時,必須給出提供這個靜態成員的類。使用靜態引入可以使被匯入類的靜態變數和靜態方法在當前類直接可見,使用這些靜態成員無需再給出他們的類名。比如先在乙個com包中定義乙個這樣的類 package com public class student1 定義靜態方法 publi...