C数组运行不出自己想要的结果
建议把sum,max ,min; 定义成全局变量;
printf("max=%6.2f\n min=%6.2f\n average=%6.2f\n sum=%6.2f\n",max,min,ave,sum);
中的sum,max ,min只是主函数中定义的变量,且没有赋初值,所以打印出来的是“奇怪”大数。
子函数float average(float array[],int n )
中定义sum,max ,min 是该函数内的局部变量,在函数返回时全部消亡了,只有返回的aver 传递到主函数中 并能正确打印。。
程序修改一下
你的错误在于求平均值的函数是可返回值的,里面的max,min等并不返回,所以在你的程序里只能返回平均值。
#include
void average(float array[],int n )
{int i ;
float aver, sum=array[0];
float max ,min;
max=min=array[0];
for (i=1;imax)max=array[i];
else if (array[i] 2f\n min=%6。2f\n average=%6。2f\n sum=%6。
2f\n",max,min,aver,sum);
main
{ float score[10];
int i ;
for (i=0;i
全部
你可能想看: