一道这样的C语言题目,请问应该怎样改才正确,编译错误。
#include<stdio.h>
struct books
{
char name[30];
double price;
};
int max(double x[])
{
int i,j,max;
max=x[0];
for(i=0,j=0;i<3;i++)
{
if(x[i]>max) j=i;
}
return j;
}
int min(double x[])
{
int i,j,min;
min=x[0];
for(i=0,j=0;i<3;i++)
{
if(x[i]<min) j=i;
}
return j;
}
int main()
{
struct books b[3];
int i;
for(i=0;i<3;i++)
{
scanf("%f",&b[i].price);
gets(b[i].name);
}
printf("%f, ",b[max(b.price,3)].price);
puts(b[max(b.price,3)].name);
printf("\n");
printf("%f, ",b[min(b.price,3)].price);
puts(b[min(b.price,3)].name);
return 0;
}