C语言的问题!进进

来源:百度知道 编辑:UC知道 时间:2024/05/28 15:36:30
改正程序中的错误 让他能得出正确结果
注意 不要MAIN函数 不能增行减行,也不能修改程序结构

#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;}
/****************found*****************/
sun=0.0;
for(k=0,i=0;i<SIZE;i++)
{ sum+=s[i];
/****************found*****************/
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 original data:\n");
for(i=0;i<SIZE;i++)
{if(i%5==0) printf("\n");
printf("%4.0f",a[i]);
for(i=0;i<k;i++) printf("%6.2f",b[i]);
printf("\n\n");
}

#include<stdio.h>
#define SIZE 20
int fun(double *s,double *w)
{
int k,i; double sum;
for(k=2,i=0;i<SIZE;i++)
{
s[i]=k; k+=2;
}
/****************found*****************/
sum=0.0;
for(k=0,i=0;i<SIZE;i++)
{ sum+=s[i];
/****************found*****************/
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 original data:\n");
for(i=0;i<SIZE;i++)
{
if(i%5==0) printf("\n");
printf("%4.0f",a[i]);
}
for(i=0;i<k;i++) printf("%6.2f",b[i]);
printf("\n\n");
}

3楼正解

sun=0.0 ??

整个程序已经试过了,可通过编译
代码如下:
#include<stdio.h>
#define SIZE 20
int fun(double *s,double *w) //这里要加一个int
{int k,i; double