關於多組資料連續輸入,求最大值最小值問題

2021-06-28 09:31:40 字數 545 閱讀 1918

題目介紹如下。

自己寫的**可以解決根據輸入的數字個數和數字判斷最大值最小值問題,但是我在處理多組資料連續輸入的時候,實在處理不好,另外最大值最小值的判斷是使用的函式,使得整個程式記憶體和執行時間都不大理想。

1後來參考了答案,多組資料的輸入的是通過乙個while迴圈,利用scanf的返回值(scanf返回接收到的變數值的個數)進行判斷,覺得十分巧妙。

整個**如下:

#include const int n = 101;

int main()

{ int a[n];

int n,i,max,min;

while(scanf("%d",&n)==1)

{max = -1,min = 101;

for(i=1;i<=n;i++)

{scanf("%d",&a[i]);

if(a[i]>max) max = a[i];

if(a[i]它的最大值最小值的判斷也十分精簡,效率比函式實現高得多,希望自己能夠從中學得一點思想。

求連續子串行的最大值

問題描述 有一串數字 可正可負的int,放在陣列num裡 要求找到起始位置start和終止位置end,使得從start位置到end位置的所有數字之和最大,返回這個最大值max。演算法思想 使用動態規劃。設 f x 為以 a x 終止且包含 a x 的最大序列的和,有 f 1 a 1 f x 1 f ...

求最大連續子陣列和的最大值

題目描述 給定乙個陣列a 0,n 1 求a的連續子陣列,使得該子陣列的和最大。eg 1,2,3,10,4,7,2,5的最大子陣列為3,10,4,7,2 演算法分析 記s i 為以a i 結尾的陣列中和最大的子陣列,則s i 1 max s i a i 1 a i 1 s 0 a 0 遍歷i 0 i ...

求矩陣最外圍元素的最大值 最小值

給定乙個n n 2 行10列的整數矩陣a,函式maxmin 計算 矩陣最外圍元素 指第一行 最後一行的元素,以及第一列 最後一列的元素 的最大值和最小值,並將最大值存入變數mx,最小值存入變數mn。maxmin 的第乙個引數是二維整數陣列a,第二個引數是a的行數n n 10 例如,main 函式中a...