杭電2014 2020總結

2021-06-01 06:01:23 字數 712 閱讀 2672

昨天天氣不太好,一整天都沒有陽光,導致我的心情也有點鬱悶,沒有把昨天本該做的題做完,該寫的部落格寫完,就把任務拖到了今天了。

2014:本題需要用到累加和遍歷求極值的技巧。用大一時王sir的話說,就是開設乙個「擂台」,遍歷一遍資料,誰最「極」的,誰就登上擂台。如果要求記錄極值的位置,還需要在開設乙個記錄資料在陣列中的位置的「擂台」。

2015:昨天提交過,但是wa了,今天調式才發覺是輸出的表示式搞錯了。原因就是把總數當做平均數來輸出了。

本題的關鍵就是要把整個程式分成兩部分,一部分是輸出完整的m個一組的平均數,另外一部分就是輸出餘下的r項(如果有的話)的平均數。

本題還是使用了isout變數來判斷是否已經輸出了第乙個值,以此來判斷要不要在輸出的變數前輸出空格。

2016:本題只需要求出最小值及其位置和交換兩個變數的技巧,我把最小值的「擂台」初始化為0x7fffffff,也就是int中的最大值。

2017:使用遍歷和計數器就可以解決。

2018:斐波那契數列的變種,用打表法解決。

2019:首先把a[n]賦為x,保證x一定會停下來。然後從0開始遍歷陣列,在第乙個大於x的變數那裡停下來。

2020:本題使用了qsort(a,n,sizeof(int),comp)函式,需要定義comp(const void *a,const void *b)函式,當comp返回大於0的數時,表明(a,b)是逆序。

在本題中,當abs(a)

杭電OJ 2014 2020 氣泡排序

problem description 去掉乙個最高分和乙個最低分,然後計算平均得分,請程式設計輸出某選手的得分。input 輸入資料有多組,每組佔一行,每行的第乙個數是n 2output 對於每組輸入資料,輸出選手的得分,結果保留2位小數,每組輸出佔一行。sample input 3 99 98 ...

杭電2028 2032總結

本次練習是c語言程式設計練習的最後一套。2028 本題的核心是編寫乙個求最大公約數的函式 利用歐幾里得演算法 求得了兩個數的最大公約數,就可以求得兩個數的最小公倍數。多個數的最小公倍數,利用如下原理求得,求a1,a2.an 的最小公倍數,令n是 a1,a2.an 1 的最小公倍數,則要求的最小公倍數...

杭電2041 2044 2046總結

有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數 對於每個測試例項,請輸出不同走法的數量 2044 輸入資料的第一行是乙個整數n,表示測試例項的...