c语言求数组中最大值和最小值及其下标

2024-11-19 04:48:22
推荐回答(3个)
回答(1):

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

最小值同理。

使用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<array.length;i++){

if(array<i>>max){

max=array<i>;

indexMax=i;

}

if(array<i><min){

min=array<i>;

indexMin=i;

}

}

System.out.println("最大值为:"+max+",索引为:"+indexMax);

System.out.println("最小值为:"+min+",索引为:"+indexMin);

}

}

扩展资料:

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

回答(2):

#include 
main()
{
int a[10],i,j,k;
for (i=0;i<10;++i)
scanf("%d",&a[i]);
for(i=j=k=0;i<10;i++) //找出最大数、最小数在数组中对应的下标
  if(a[i]>a[j])j=i;
    else if(a[i]printf("%d %d\n",a[j],j);
printf("%d %d\n",a[k],k);
}

回答(3):

a[i]=c[i]; 要改成 c[i]=a[i];