問題描述:
輸入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年的時候母牛...