请问这个C语言程序哪里出了问题? 50

一个最小二乘法拟合函数,如何修改能够得到结果。现在的结果出来是0.000000#include<stdio.h>#include<math.h>voidfunc(doub... 一个最小二乘法拟合函数,如何修改能够得到结果。现在的结果出来是0.000000

#include<stdio.h>
#include<math.h>
void func (double d[],double e[],int n);
double a0=0,a1=0;

main()
{
double a[6]={-1.00,-0.75,-0.50,-0.25,0.00,0.25};
double b[6]={-0.2209,0.3295,0.8826,1.4392,2.003,2.5645};
int c=6;
void func(double a,double b,int c);
printf("y=%f+%fx",a0,a1);

}

void func (double d[],double e[],int n)
{
int i=1;
double u=0,v=0,w=0,x=0,y,z;
double f[2];
for(i=1;i<n;i++)
{
u=u+d[i-1];//total x
v=v+e[i-1];//total y
w=w+d[i-1]*e[i-1];//total x*y
x=x+d[i-1]*d[i-1];//total x*x
}
u=u/n;
v=v/n;
w=w/n;
x=x/n;
a1=(w-u*v)/(x-u*u);
a0=v-y*u;
}
展开
 我来答
旅初彤2B
2017-10-26 · TA获得超过2.6万个赞
知道大有可为答主
回答量:4.4万
采纳率:65%
帮助的人:5176万
展开全部
C语言参数不能传入数组,数组也不能作为返回值,只能使用指针,如果是Java或C#是可以将数组作为返回值,或作为参数
追问
没传数组,用的全局变量。能仔细说下怎么改吗?
追答
void func (double d[],double e[],int n)这个方法参数里面没使用参数做数组?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
microroom
科技发烧友

2017-10-27 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1498万
展开全部
int c=6;
void func(double a,double b,int c);
改成
int c=6;
func(a,b,c);
追问
不对啊,没有解决
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式