程式練習題庫
← 回題目列表
c難度 ●●

找出陣列裡最大的數,還有它在第幾格

Python 有 max(nums),想知道位置還有 nums.index(max(nums))。C 兩個都沒有,得自己走一遍。

題目

找出陣列裡最大的數,以及它的索引。

預期輸出:

最大值 9 在第 3 格

提示

先假設第 0 格是最大的,然後從第 1 格開始逐一比較,遇到更大的就換人。

你需要兩個變數:一個記最大值,一個記它在哪一格。這兩個要一起更新,只更新其中一個就會對不起來。

會照出 Python 藏了什麼

max() 看起來是一個動作,其實裡面就是這個迴圈。自己寫一遍會發現幾個 Python 幫你決定好的事:

初始值從哪來——不能設成 0,因為陣列可能全是負數。從第 0 個元素開始才安全。

平手怎麼辦——如果有兩個 9,你的寫法會回傳第一個還是最後一個?取決於你用 > 還是 >=。Python 的 max() 也有它的選擇(回傳第一個),只是它沒問過你。

空陣列怎麼辦——Python 會丟 ValueError,C 什麼都不會說,你會讀到一格不存在的記憶體。

本機編譯

gcc main.c -o main.exe
./main.exe

需要先裝好 C 編譯器。Windows 可以用 MinGW-w64 或 w64devkit,macOS 與 Linux 通常內建或用套件管理器安裝。

C 題不提供線上執行,自己在本機編譯,寫完可以請 AI 看看。

討論區

登入後就能留言和評分。

    還沒有人留言。