杭電oj編碼2020

2021-07-23 19:59:07 字數 1164 閱讀 1440

問題描述:

輸入n(n<=100)個整數,按照絕對值從大到小排序後輸出。題目保證對於每乙個測試例項,所有的數的絕對值都不相等。

輸入:輸入資料有多組,每組佔一行,每行的第乙個數字為n,接著是n個整數,n=0表示輸入資料的結束,不做處理。

輸出:對於每個測試例項,輸出排序後的結果,兩個數之間用乙個空格隔開。每個測試例項佔一行。

樣例輸入:

3 3 -4 2

4 0 1 2 -3 0

樣例輸出:

-4 3 2

-3 2 1 0

分析:原本想學杭電oj編碼2019中的做法,,一邊輸入一邊判斷。但是發現過於麻煩,所以就回歸正常思路:

1、首先遍歷輸入的資料,並用不小於100的陣列儲存。

2、用氣泡排序,重新對陣列排序。

3、迴圈輸出所有資料。

其中用到的函式:

使用庫函式「cmath」中的abs(int num)函式:

(1)、如果是對整型使用取絕對值,用abs(int number),返回值是也是整型的。

(2)、如果是對double型取絕對值,則用fabs(double number),返回值也是double型。

(3)、如果是對float型取絕對值,則用fabsf(float number),返回值也是float型。

(4)、若果是對long double型取絕對值,則用fabsl(long double number),返回值是long double型。

對氣泡排序法的分析(針對一般而言):

int sort(int *numlist,int n)// 從大到小排序

}}

int sort(int *numlist,int n)// 從小到大排序

}}

**:

#include#includeusing std::cin;

using std::cout;

using std::endl;

int main()

, temp = 0;

while (cin >> n)//輸入多組資料

for (int i = 0; i < n; i++)//輸出所喲的資料

}return 0;

}

杭電oj編碼2014

問題描述 青年歌手大獎賽中,評委會給參賽選手打分。選手得分規則為去掉乙個最高分和乙個最低分,然後計算平均得分,請程式設計輸出某選手的得分。輸入 輸入資料有多組,每組佔一行,每行的第乙個數是n 2 輸出 對於每組輸入資料,輸出選手的得分,結果保留2位小數,每組輸出佔一行。樣例輸入 3 99 98 97...

杭電oj編碼2015

題目描述 有乙個長度為n n 100 的數列,該數列定義為從2開始的遞增有序偶數,現在要求你按照順序每m個數求出乙個平均值,如果最後不足m個,則以實際數量求平均值。程式設計輸出該平均值序列。輸入 輸入資料有多組,每組佔一行,包含兩個正整數n和m,n和m的含義如上所述。輸出 對於每組輸入資料,輸出乙個...

杭電oj編碼2018

問題描述 有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?輸入 輸入資料由多個測試例項組成,每個測試例項佔一行,包括乙個整數n 0 n 0表示輸入資料的結束,不做處理。輸出 對於每個測試例項,輸出在第n年的時候母牛...