我是看了遍书上的一个例子,再不看书,尝试自己写的···
书上原本的程序如下,我后来照抄了一遍··编译了一遍没出错··
这编译器真郁闷,VS2010,vc6.0都报错
#include <stdio.h>
#include <stdlib.h>
float average(float *p,int n)
{ float ave=0;
int i;
for(i=0;i<n;i++)
ave+=*(p+i);
ave/=n;
return ave;
}
float max_score(float *p,int n)
{ float max=*p;
int i=1;
for(;i<n;i++)
if(*(p+i)>max) max=*(p+i);
return max;
}
main()
{ float *p,max,ave;
int i,n;
printf("please input array siza:");
scanf("%d",&n);
p=(float*)malloc(n*sizeof(float));
printf("please input score:");
for(i=0;i<n;i++)
scanf("%f",p+i);
ave=average(p,n);
max=max_score(p,n);
printf("ave=%.2f,max=%.2f\n",ave,max);
free(p);
}
书上原本的程序如下,我后来照抄了一遍··编译了一遍没出错··
#include <stdio.h>
#include <stdlib.h>
float average(float *p,int n)
{ float ave=0;
int i;
for(i=0;i<n;i++)
ave+=*(p+i);
ave/=n;
return ave;
}
float max_score(float *p,int n)
{ float max=*p;
int i=1;
for(;i<n;i++)
if(*(p+i)>max) max=*(p+i);
return max;
}
main()
{ float *p,max,ave;
int i,n;
printf("please input array siza:");
scanf("%d",&n);
p=(float*)malloc(n*sizeof(float));
printf("please input score:");
for(i=0;i<n;i++)
scanf("%f",p+i);
ave=average(p,n);
max=max_score(p,n);
printf("ave=%.2f,max=%.2f\n",ave,max);
free(p);
}

