最高分是多少? 華為

2021-08-17 19:14:09 字數 1295 閱讀 4195

[程式設計題] 最高分是多少

時間限制: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

思路很簡單:

主要是回車也是乙個字元,所以主要考率去掉回車的問題;

①用getchar()

②用scanf(「 %c」);

scanf("%c",&c) 與 scanf(" %c",&c),後者只是在%前多了個空格,似乎沒有什麼區別,但使用起來區別是很大的。scanf()作單字元輸入時規定只接收乙個字元,但它卻把回車符也作為字元對待的。這就造成程式中只有乙個輸入字元的scanf()語句時,問題還不大,但如果後面還跟著第二個scanf()字元輸入語句,這個scanf()就把前面輸入的回車符當作輸入字元了。這就在輸入邏輯上造成了混亂,達不到人們預期的願望。有了這個空格,

因為scanf()是跳過空格讀字元的

,加空格就可以利用格式化的輸入跳過乙個字元,就迴避了這個問題。

#include #include #include #includeusing namespace std;

#include #include int main()

while(m--)

printf("%d\n",max);

}else}}

return 0;

}

最高分是多少?

時間限制 1秒 空間限制 65536k 老師想知道從某某同學當中,分數最高的是多少,現在請你程式設計模擬老師的詢問。當然,老師有時候需要更新某位同學的成績。輸入描述 1 輸入包括多組測試資料。2.每組輸入第一行是兩個正整數n和m 0 n 30000,0 m 5000 分別代表學生的數目和操作的數目。...

最高分是多少(2016)

題目描述 老師想知道從某某同學當中,分數最高的是多少,現在請你程式設計模擬老師的詢問。當然,老師有時候需要更新某位同學的成績.輸入描述 輸入包括多組測試資料。每組輸入第一行是兩個正整數n和m 0 n 30000,0 m 5000 分別代表學生的數目和操作的數目。學生id編號從1編到n。第二行包含n個...

華為面試題 最高分是多少

老師想知道從某某同學當中,分數最高的是多少,現在請你程式設計模擬老師的詢問。當然,老師有時候需要更新某位同學的成績.輸入描述 輸入包括多組測試資料。每組輸入第一行是兩個正整數n和m 0 n 30000,0 m 5000 分別代表學生的數目和操作的數目。學生id編號從1編到n。第二行包含n個整數,代表...