为什么编译错误,还有这样对吗

7-1 求最大值与最小值 (10 分)
定义一个函数max_min,求一组数据的最大值和最小值. 在主函数中输入n和n个数据,调用max_min函数求出最大最小值,然后在主函数中输出这n个数的最大值和最小值。(用指针实现)

输入格式:
输入n和n个数

输出格式:
输出最大值占一行,保留2位小数 输出最小值占一行,保留2位小数

输入样例:
在这里给出一组输入。例如:

6 5.2 -7 8 0.84 4 1
结尾无空行
输出样例:
在这里给出相应的输出。例如:

8.00
-7.00
结尾无空行

```c

```#include<stdio.h>
#include<math.h>
void max_min(float a[],int n,float *maxp,float *minp)

{

 int i;

 *maxp=a[0];

 *minp=a[0];

 for(i=1;i<=n-1;i++)

 {

      if(fbs(a[i]-*maxp)>=0.000001)

       *maxp=a[i]; 

      else if (fbs(a[i]-*minp)<0.000001) 

       *minp=a[i];

 }

}

int main()

{
int i,n;
float a[100],max,min;

 scanf("%d",&n);

 for(i=0;i<=n-1;i++){

 scanf("%d",&a[i]); 
 }
 max_min(a,n,&max,&min);

 printf("%.2f\n%.2f",max,min);
 return 0;

}