高手帮我看一下这个C语言小程序错在哪里了

来源:百度知道 编辑:UC知道 时间:2024/06/21 23:58:50
#include <stdio.h>
#include <math.h>
#define N 2
#define M 3
float out_num[N][2*M];
float ave[2*M],ave_a[M],ave_b[M],ave_ab[M];
float del[M],var[M];
float err1_a[M],err1_b[M],err1_ab[M],err2_ab[M];
float x[M],ya[M];
void aver(void)
{int i,j;
float s;
for(j=0;j<2*M;j++)
{for(i=0,s=0;i<N;i++)
s+=out_num[i][j];
ave[j]=s/(float)N;
}
}

void line_a(void)
{float k,b;
int i;
float x1=x[0],x2=x[M-1];
float y1=ave_ab[0],y2=ave_ab[M-1];
float x[M],ya[M];
k=(float)(y1-y2)/(x1-x2);
b=(float)(y1+y2-k*(x1+x2))/2;
for(i=0;i<M;i++)
ya[i]=k*x[i]+b;
}
void s_var(void)
{int i,j;
float s,t;
s=0;
for(j=0;j<2*M;j++)
{
{for(i=0;i<N;i++)
s+=out_num[i][j]*out_num[i][j];
}
t=s/(float)N-ave[j]*ave[j];
var[j]=sqrt(t)

两维数组元素在scanf()函数里面是不能用&来取其地址的。需要改成指针形式,或者间接一下(先scanf到一个变量里,再变量赋值)

还有,printf("Please input xbers:%8.5f\n"); 这一句少东西了吧?否则%8.5f对应什么呢?

程序我没看出是做什么的,只能给你这点意见,请参考。

语法没有错误吧~~~你是说逻辑哪里错了么,那你说说你想要实现个什么功能吧,一行注释也没有看起来估计不能理解你的本意~~