请教一个郁闷的C语言问题.
题目:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和.例如,若给定数组中的9个元素依次为12.0、34.0、4.0、23.0、34.0、45.0、18.0、3.0、11.0,则输出应为s=35.951014我的编程如下:
#include <stdio.h>
#include <math.h>
double fun(double x[9])
{
int i;
double aver,sum=0.0;
for(i=0;i<9;i++)
{
aver=(x[i]+x[i+1])/2;
sum+=sqrt(aver);
}
return sum;
}
main()
{
double s,a[9]={12.0,34.0,4.0,23.0,34.0,45.0,18.0,3.0,11.0};
int i;
FILE *out;
printf("\nThe original data is :\n");
for(i=0;i<9;i++)
printf("%6.1f",a[i]);
printf("\n\n");
s=fun(a);
printf("s=%f\n\n",s);
out=fopen("out.dat","w");
fprintf(out, "%f",s);
fclose(out);
}
但是运行的时候就会出错,我千找万找都找不出错误,太郁闷了。希望有哪位朋友找出错误并解释一下,不胜感激!!!