如何求数组中的最大值

如何求数组中的最大值,第1张

假如你的数组A长度为n,可以这么求
int max = A[0];
for(int i = 1; i < n; ++i)
{
if(A[i] > max)
max = A[i];
}

思路:假定一个数为最大值,如果有个数比假定的最大值还大,那么该数就为最大值。

最小值同理。

使用for循环。

/

public class MaxMin{

public static void main(String[]args){

int[]array={13,56,45,48,26,55,7,3,9,468,4589,76,4,3,18};//声明数组并赋值

int i=0;

int max=array[0];//最大值

int min=array[0];//最大值

int indexMax=-1;//最大值索引

int indexMin=-1;//最小值索引

//使用for循环判断

for(i=0;i&lt;arraylength;i++){

if(array&lt;i&gt;&gt;max){

max=array&lt;i&gt;;

indexMax=i;

}

if(array&lt;i&gt;&lt;min){

min=array&lt;i&gt;;

indexMin=i;

}

}

Systemoutprintln("最大值为:"+max+",索引为:"+indexMax);

Systemoutprintln("最小值为:"+min+",索引为:"+indexMin);

}

}

扩展资料:

system()函数用于向 *** 作系统传递控制台命令行,以WINDOWS系统为例,通过system()函数执行命令和在DOS窗口中执行命令的效果是一样的,所以只要在运行窗口中可以使用的命令都可以用SYSTEM()传递,但要注意的是输入斜线时要输入两个,以名C语言当作转义字符处理。

#include <stdioh>
int getMax(int a[],int n)
{int i,m=0;
 for(i=1;i<n;i++)
   if(a[i]>a[m])m=i;
 return a[m];  
}
int main()
{int a[]={45,6,56,23,28,26};
 int i,n=sizeof(a)/sizeof(a[0]);
 printf("数组a的最大值是%d\n",getMax(a,n));
 return 0;
}

//更改好了的程序
#include "stdioh"
void main( )
{ int max,j,m;
int a[5];
/FOUND1/
for(j=0;j<05;j++)//数组下标从0-n-1
/FOUND2/
scanf("%d",&a[j]); //scanf要加上取取地址&
max=a[0];
/FOUND3/
for(j=0,m=0;j<5;j++)//i还是从0开始,但是,你上面默认了max=a[0],当然,m=0
/FOUND4/
if(max<a[j])
/FOUND5/
{max=a[j];
/FOUND6/
m=j;}
/FOUND7/
printf("下标:%d\n最大值:%d", m, max); //输出的是m,max
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13344104.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-18
下一篇 2023-07-18

发表评论

登录后才能评论

评论列表(0条)

保存