CCF 201903 1小中大 (100分)

2021-10-08 22:30:42 字數 741 閱讀 4162

本題看似簡單實則暗藏殺機,首先必須得完全理解題意:按從大到小的順序依次輸出最大值、中位數以及最小值,其中中位數若為整數則輸出為整數,若為分數則保留一位小數並輸出。

這裡最大值以及最小值得輸出沒有什麼好說的,關鍵是中位數的輸出,建議使用c語言printf( )的輸出方式,便於進行格式控制,嚴格遵循整數直接輸出,分數保留一位小數輸出的要求,運算過程中也要注意變數型別的隱式轉換,防止出現意料之外的錯誤。

此處的保留一位小數是指原結果保留一位小數,不需要進製之類的,一開始我看到四捨五入還以為要進製然後保留一位小數。。。

還有乙個可以注意的點就是此處只需要至多四個數值,不需要用陣列儲存輸入的所有整數。

#include

using

namespace std;

intmain()

if(max

swap

(max,min);if

(n%2==0

)}if(flag)

printf

("%d %.1lf %d"

,max,mid,min)

;else

printf

("%d %d %d"

,max,

(int

)mid,min)

;return0;

}

CCF認證201903 1小中大

201903 1小中大 吐槽一下 題目不是很難,但是用vc6.0會出現一些bug 推測就是這個ide的問題 問題如下 槽點如圖,都是按照整型輸出 1,竟然會出現兩個不同的值,真的困惑了我半天。演算法設計 題目分析 1 維護乙個num 100010 的陣列 2 按照整型輸入n個有序整數 3 根據頭尾確...

CSP認證 201903 1 小中大

問題鏈結 ccf201903 1。問題描述 輸入一組數,找出最大值,中位數和最小值並輸出 問題分析 簡單模擬問題,只需判斷中位數是否需要以保留一位小數的格式輸出,本解法是按照題意,先求出中位數,再對首位 末位和中位數進行排序 程式說明 1.輸入個數n和數字 2.判斷中位數是否需要取平均值 3.判斷中...

CCF真題 201903 1大中小 100分

十進位制計數法,不是科學計數法 cout if mid int mid 0 判斷mid是否為整數 cout int mid else cout setprecision 1 cout 測試用例 3 1 2 4 4 2 1 4 4 注意及總結 1 下面這一段是防止數字太大,double型別會自動使用科...