題目:鍵盤輸入4個整數,找出其中最大值。
本題可以用巢狀的if語句來做:
#include
int main()
else
printf(「%d\n」, max);
getch();
return 0; }
這個程式寫起來很麻煩,且邏輯關係複雜,不容易看懂,顯然這不是乙個好演算法。改為下面的方法:用邏輯運算子連線關係表示式。
#include
int main()
這個程式看起來清楚一些了,但是隨著整數個數(現在是4)的增加,每個if後面的條件都會變的很長,所以這種方法也不可取。
遇到這種需要比較很多資料的時候,我們通常都是採用「打擂台」的方法來處理:
#include
int main()
這樣寫出來的程式簡單易懂,且很容易擴充套件:如果資料個數增加了,按同樣的方法再添些**即可。更重要的是,每個資料的處理方式都是相同的,這一點便於我們今後把他們合併成乙個迴圈。
輸入n個整數,找出其中最小的K個數
輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,牛客網題目鏈結 使用最大堆實現,1.構建大小為k的最大堆 2.如果新元素小於當前最大堆的堆頂元素,則替換堆頂,調整最大堆 3.題目要求按照從小到大順序輸出最小的k個數,所以最後需要...
輸入n個整數,找出其中最小的K個數。
題目 輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,思路 可以使用排序 這裡我採用快排,獲取到乙個有順序的陣列,然後獲取它的前n個 先使用快排排序 public static void quicksort int arr,in...
C語言基礎06 從鍵盤輸入資料
今天我要說的是scanf 輸入函式 scanf 是最靈活 最複雜 最常用的輸出函式,但它不能完全取代其他的函式。scanf 和printf 類似,scanf 可以輸入多種類似的資料,而getchar getche getch 這三個函式都用於輸入單個字元,gets 可以獲取一行資料,並作為字串處理。...