完成于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.函数