C語言:數組元素個數固定的最值輸出

完成於2020.10.10算法

數組元素個數固定式的最值輸出

1、第一版(未優化)

** 比較基礎的寫法,須要在代碼中屢次輸入元素個數,有點繁瑣,可是對於初學者,有利於明白比較大小這個算法**數組

第一種代碼圖像以下:

初級版

第一種代碼以下:

#include <stdio.h>
int main ()
{ 
    printf(" 請輸入十個整數,每一個整數用回車間隔:\n");
    int m,i;
    int a[10];
    for (i=0;i<10;i++)
        { 
            if (i<10)
        { 
         scanf("%d",&a[i]);
         m=max(a);
    }
    printf("輸入的數據中最大值爲:%d\n",m);
}
int max(int a[10])
{ 
    int m,i;
    m=a[0];
    for (i=0;i<10;i++)
    { 
         if (m<a[i])
         { 
             m=a[i];
         }
    }
    return m;
}

2、優化版(模塊化)

** 相較於第一種方法,這種方法能夠讓用戶自行定義輸入的數組元素個數,更加人性化,與此同時,因爲函數模塊化(max函數),能夠屢次利用該函數。**模塊化

先上圖:

優化版

再上代碼:

#include <stdio.h>
int main ()
{ 
    int max()
    int i,m,lg;
    printf("請輸入數據個數:\n");
    scanf("%d",&lg);
    int a[lg];
    for(i=0;i<lg;i++)
       { 
           printf("請輸入第%d個數據\n",i+1);
           scanf("%d"&,a[i]);
       }
    m=max(a,lg);
    printf("這些數據中最大值爲:%d\n",m);
}
int max(int a[],int lg)
{ 
    int i ,m;
    m=a[0];
    for (i=0;i<lg;i++)
    { 
        if (m<a[i])
        { 
            m=a[i];
        }
    }
    return m ;
}

結語

  • 可能圖示代碼與下面的代碼塊有些許不一樣,但實際運行結果相同。

By Levi.函數

相關文章
相關標籤/搜索