完成于2020.10.10
數組元素個數固定式的最值輸出
一、初版(未優化)
** 比較基礎的寫法,需要在代碼中多次輸入元素個數,有點繁瑣,但是對於初學者,有利於明白比較大小這個算法**
第一种代码图像如下:
第一种代码如下:
#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;
}
二、优化版(模块化)
** 相较于第一种方法,这种方法可以让用户自行定义输入的数组元素个数,更加人性化,与此同时,由于函数模块化(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.