c语言中数组比较大小

来源:百度知道 编辑:UC知道 时间:2024/05/30 08:04:34
#include<stdio.h>
void main(void)
{int i=0;
float a[15]={2.1,4.3,5.2,3.75,6.24,4.4,9.32,3.1,2.92,2.1,3.8,6.7,5.8,9.0,5.54},c=0.00;

while(i<=14){
c=max(a[i],c);
++i;}

printf("%f",c);
}
float max(float x,float y)
{float z;
z=x>y?x:y;
return (z);
}

我编了这个程序,可是结果不对,请看看有什么错误呢?

(就是比较数组中哪个数最大)

float max(float x,float y)在main()后面在main()中调用时要先声明
#include<stdio.h>
void main(void)
{int i=0;
float a[15]={2.1,4.3,5.2,3.75,6.24,4.4,9.32,3.1,2.92,2.1,3.8,6.7,5.8,9.0,5.54},c=0.00;
float max(float x,float y)//此处为函数声明
while(i<=14){
c=max(a[i],c);
++i;}

printf("%f",c);
}
float max(float x,float y)
{float z;
z=x>y?x:y;
return (z);
}

你现在每次循环都是拿数组和C比,而且循环后面的值会复盖了前面的值,max 这样做可能会行;思想是冒泡排序
float max(float x,float y)
{
float z;
if(x<y)
{
z=x;
x=y;
y=z;
}
return(x);
}
调用max时参数应为max(a[i],a[i+1])