C 上机的一题请教高手
函数fun功能:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每五个元素求一个平均植,并将这些植依次存放在w所指的数组中.若s所指数组中元素的个数不是5的倍数,多余部分忽略不记.列如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后4个元素求平均植.帮忙看看以下程序有什么错误 "k"代表什么
#include<stdio.h>
#define SIZE 20
fun(double *s, double *w)
{ int k,i; double sum;
for(k=2,i=0;i<SIZE;i++)
{ sum+=s[i];
if((i+1)%5==0)
{ w[k]=sum/5;sum=0;k++;}
}
return k;
}
main()
{ double a[SIZE],b[SIZE/5];
int i,k;
k=fun(a,b);
printf("The orignal data:\n");
for(i=0;i<SIZE;i++)
{ if(i%5==0) printf("\n");
printf("%4.0f",a[i]);
}
printf("\n\nThe result:\n");
for(i=0;i<k;i++)printf("%6.2f",b[i]);
printf("\n\n");
}