[請問] C++找次大值 倒數第2大值

看板ask作者 (前田慶次)時間7年前 (2016/10/20 01:02), 編輯推噓4(4017)
留言21則, 9人參與, 最新討論串1/1
題目的問題是 寫一個能輸入10次數字之後會自動跑出 第2大的值 還有倒數第2大的值 題目限制 必須使用到while 提示是 跟最大值有關 比2次 ---------------------------------------------------------------- 最大值我會但是老師提示 要比2次 我在想是找出最大值之後 然後把他剔除 再比較剩下9個數字的大小 但是不知道用while怎麼寫 也不知道要怎麼寫比2次的演算法 http://i.imgur.com/JlPvVlc.jpg
上面是我寫最大值的code 也沒用到while == 不太習慣用while常常 編譯之後 程式一直cout不停== 希望有大大能解答 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.126.28 ※ 文章網址: https://www.ptt.cc/bbs/ask/M.1476896529.A.145.html

10/20 01:11, , 1F
你可以有兩個變數,一個放最大值,一個放第二大的值
10/20 01:11, 1F

10/20 01:12, , 2F
程式要分層次縮排,你才看得懂哪部份在for內哪部份在外
10/20 01:12, 2F

10/20 01:13, , 3F
加油
10/20 01:13, 3F

10/20 06:40, , 4F
泡泡排序法
10/20 06:40, 4F

10/20 07:36, , 5F
哈哈,看了覺得好可愛
10/20 07:36, 5F

10/20 10:54, , 6F
程式太亂sorry 所以是要用2個for去寫嗎@@? 可是題
10/20 10:54, 6F

10/20 10:54, , 7F
目限制要用我不擅長的while==
10/20 10:54, 7F

10/20 11:27, , 8F
for就跟while一樣啊…反過來想就好
10/20 11:27, 8F

10/20 11:28, , 9F
當這個數字大於A,設為第二大,當她大於B,設為第一
10/20 11:28, 9F

10/20 11:28, , 10F
大,然後迴去比較下一個數字
10/20 11:28, 10F

10/20 11:29, , 11F
我說錯了,要先跟第一大比,if比不過再跟第二大比,
10/20 11:29, 11F

10/20 11:29, , 12F
不然會重複蓋掉
10/20 11:29, 12F

10/20 11:31, , 13F
while 就 while, 你想成當...符合條件就會繼續跑迴圈
10/20 11:31, 13F

10/20 11:34, , 14F
比兩次... 應該是告訴你 一次比大 一次比小...
10/20 11:34, 14F

10/20 11:38, , 15F
不過也有可能叫你比兩次 第一次找出最大 第二次找次大:Q
10/20 11:38, 15F

10/20 13:14, , 16F
寫在同一個迴圈內就好了吧? 你想成打擂台賽
10/20 13:14, 16F

10/20 13:16, , 17F
每個人都出場一次,向 max 變數裡的台主挑戰
10/20 13:16, 17F

10/20 16:43, , 18F
把10個都存array sort後挑a[1]跟a[8]就是第二大第二小
10/20 16:43, 18F

10/20 17:07, , 19F
輸入如果是一億個數字,取第二大和第二小也要 sort 嗎?
10/20 17:07, 19F

10/20 20:11, , 20F
先挑營小魔王再挑贏大魔王的概念
10/20 20:11, 20F

10/24 17:14, , 21F
我覺得你還是重修好了
10/24 17:14, 21F
文章代碼(AID): #1O1wSH55 (ask)