完成於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.函數