[問題] 數字交換&印出低於平均值學生

作者: garnettooo (絕代風華賈奈特)   2016-09-07 12:48:15
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
c++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
no
問題(Question):
1.輸入五個數字並將其由大排到小
2.列印出學生的平均成績標準差&低於平均的學生
餵入的資料(Input):
1.8 6 5 7 9
2.68 79 80 97 65
預期的正確結果(Expected Output):
1.5 6 7 8 9
2.學生1低於平均,學生5低於平均
錯誤結果(Wrong Output):
1.5 5 5 7 9
2.無法印出
程式碼(Code):(請善用置底文網頁, 記得排版)
1.http://codepad.org/Yio1mXUo
2.http://codepad.org/AlHeaucC
補充說明(Supplement):
小弟是程式新手,在練習時遇到這些問題,在程式運算結束後要印出結果時無法印出
正確結果,我知道這些問題可能很白痴,但我想了很久知道還是不太知道問題出
在程式的哪裡,希望各位大神能點出問題所在,感謝!
作者: prismwu   2016-09-07 13:36:00
1.交換的3行有問題
作者: a21802 (NEC)   2016-09-07 13:39:00
if那行也有問題 應該是小於才要換吧然後2. 我這邊能正確顯示耶補充 我是用DevC
作者: CRXD (graycloud)   2016-09-08 09:34:00
你的預期輸出是小到大吔排序小到大用sort#include <algorithm>大到小用sort + reverse
作者: Littlechozy (キミに100%)   2016-09-08 16:00:00
大到小的話餵一個lambda給sort就好,不用再reverse
作者: nickchen1202 (Nickchen Nick)   2016-09-08 23:28:00
推個樓上C++11可是不知道compiler可不可以用啊
作者: gtyuse (沒有暱稱)   2016-09-09 16:12:00
大到小在 sort 第三個參數傳 greater<T> 就可以
作者: Caesar08 (Caesar)   2016-09-09 20:08:00
怎麼不用rbegin、rend就好了?
作者: Littlechozy (キミに100%)   2016-09-09 20:24:00
樓上這招不錯,受教了

Links booklink

Contact Us: admin [ a t ] ucptt.com