为何不能给这个float型的结构体成员输入数据?求教!
下面这个程序设计输入4个字符串,每个字符串后面跟一个单精度型数据,如:beijing,36.20 ; shanghai,35.60 ; tianjin,34.86 ; shenzhen,38.68 ; 但没法向结构体成员“float jia”中输入数据,将程序中这个成员的数据类型改为int型就没问题了,真弄不懂哪儿错了,是怎么回事?请指教!#include<stdio.h>
#define N 4
int i,j;
struct shu
{
char ming[16];
float jia;
};
void zhao(struct shu *,int);
main()
{
static struct shu s[N],*p=s;
int a;
for(a=0;a<N;a++)
scanf("%s,%f",(p+a)->ming,&(p+a)->jia);
for(a=0;a<N;a++)
printf("%s,%f",(p+a)->ming,(p+a)->jia);
printf("\n");
zhao(p,N);
printf("max:\n");
printf("%s,%f\n",(p+i)->ming,(p+i)->jia);
printf("low:\n");
printf("%s,%f\n",(p+j)->ming,(p+j)->jia);
system("pause");
}
void zhao(struct shu *p,int n)
{
int d;
float max,low;
max=p->jia;
low=p->jia;
for(d=0;d<n;d++)
{
if(((p+d)->jia)>max)
{
max=(p+d)->jia;
i=d;
}
if(((p+d)->jia)<low)
{
low=(p+d)->jia;
j=d;
}
}
}