C语言求最大最小值

Python018

C语言求最大最小值,第1张

1)问题出在minmax函数,这个函数找到的最大值和最小值没有返回。

2)虽然你定义了最大值和最小值为全局变量,但是在minmax函数的调用参数中你又定义了同名变量,这样在minmax函数内部实际使用的是局部变量。

3)最简单的方法,直接把minmax函数的后两个输入参数去掉。

第一个问题:

为什么在求最大最小值钱,要把a[0][0]赋值给max,min

答:

因为max,min在最开始没有初始化,不能直接比较,而因为是比较数组里的值,又不能随便初始化。所以我们选择默认第一个数最大(或最小)。

第二个问题:

if语句

有很多个条件符合这个条件啊,怎么只输出那个最大的

而其他也符合这个条件的?

答:

我们先默认了最大(或最小值)是第一个数组元素,我们把他依次和后面元素比较,当碰到比它大(或小)的值,我们就把它保存到max(min),并在h,l中保存元素所在数组的位置,所以每次比较完,max(min)里保存的始终是最大(或最小)值。

#include<stdio.h>

main()

{

int a[5],i,x,min

for(i=0i<5i++)

scanf("%d",&a[i])

min=a[0]

for(i=0i<5i++)

{

if(a[i]<min) {min=a[i]x=i}

}

printf("最小的数是%d,他在a[%d]位置\n",min,x)

}