C语言程序的一个简单填空!谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/19 00:37:26
下列给定程序中,函数fun()的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。
#include <stdio.h>
#define SIZE 20
fun(double *s,double *w)
{ int k, i; double sum;
for(k=2,i=0;i<SIZE;i++)
{s[i]=k;k+=2;}
sum=0.0;
for(k=0,i=0;i<SIZE;i++)
{sum+=s[i];
if((i+1) 5==0)
{w[k]=sum/5;sum=0;k++;}
}
k;
}
void main()
{ double a[SIZE],b[SIZE/5];
int i,k;
k=fun(a,b);
printf(“The original 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.0f”, );
printf(“\n\n”);
}

1. fun(double *s,double *w) 前面填 int 变为 int fun(double *s,double *w)
2. if((i+1) 5==0) 中间填 % 变为 if((i+1)%5==0)
3. k; 前面填 return 变为 return k;
4. for(i=0;i<k;i++) printf(“%6.0f”, ); 逗号后面填 b[i] 变为 for(i=0;i<k;i++) printf("%6.0f",b[i]) ;

最后的程序是这样的:

#include <stdio.h>
#define SIZE 20
int fun(double *s,double *w) //int
{
int k, i;
double sum;
for(k=2,i=0;i<SIZE;i++)
{
s[i]=k;
k+=2;
}
sum=0.0;
for(k=0,i=0;i<SIZE;i++)
{
sum+=s[i];
if((i+1)%5==0) //%
{
w[k]=sum/5;
sum=0;
k++;
}
}
return k; //return
}

int main()
{
double a[SIZE],b[SIZE/5];
int i,k;
k=fun(a,b);
printf("The original data:\n");
for(i=0;i<SIZE;i++)
{
if(i%5)
printf("\n");
printf("%4.0f",a[i