用VC++如何编程如下公式?

如何用VC++编程?... 如何用VC++编程? 展开
 我来答
若以下回答无法解决问题,邀请你更新回答
10636852034f
2013-03-06 · TA获得超过1178个赞
知道小有建树答主
回答量:713
采纳率:86%
帮助的人:105万
展开全部
上面的横线什么意思?是平均数、取补、还是非逻辑?或者是什么其它的意义?
横线是一个一元函数,可以单独写一个子程序来计算。比如int bar(int x){}
你也可以用操作符重载 int operator--(int x){}就是把全局操作符--用来计算你的上划线。
然后得到的结果再代入另一个子程序
int fun(int x,int y){
int a=bar(x)*y-bar(x)*bar(y);
int b=bar(x*x)-bar(x)*bar(x);
/*也可以写成int b=bar(pow(x,2)-pow(bar(x),2);但是你要引用<math.h>或者<cmath>*/
return a/b;
}
主程序里就可以写int k=fun(x,y);了
如果不是visual C++,建议先声明int a,b;然后写计算代码,不然会出错(对于C语言,一定要先声明,再计算。声明和计算在同一行是C++的专利)。

注:
operator--(int &x)的使用方法为:--x
operator--(int &&x)的使用方法为:x--
operator--(int x)的使用方法为:我忘了,你试一下吧。
追问
上面的横线是平均数,并且得到的K不是整数。应该不能用int吧?平均数是用bar表示吗?
追答
那你就用一个数组代入吧
/*平均数*/
double average(double *array,int size){
double temp=0.0;
for (int i=0;i<size;i++){
temp+=array[i];
}//求合
return temp/size;
}/*
平均数的英文是average。你也可以用一个特征变量来表明数组结束,而不用通过int size传递数组长度。
另外,在visual C++中,允许使用中文作标识符,
如:double 平均数(double *采样数组,int 长度){}
*/

/*数组元素依次相乘*/
void MUL(double *ret;double *x,double *y,int size){
for(int i=0;i<size;i++){
ret[i]=x[i]*y[i];
}//for
}//用ret作为输出数组

/*方程*/
double fun(double *x,double *y,int size){
double *mul_xy=new double [size];
MUL (mul_xy,x,y,size);
double *mul_xx=new double[size];
MUL(mul_xx,x,x,size);
double aver_x=average(x,size);
double aver_y=average(y,size);
double ret= (average(mul_xy)-aver_x*aver_y)/(average(mul_xx)-aver_x*aver_x);
delete mul_xy;
delete mul_xx;
return ret;
}

void main(){
double *x,*y,size;
printf ("输入长度:\n");
scanf("%d",&size);
x=new double [size];//可以得到长度为size的数组
y=new double [size];
for (int i=0;i<size;i++){
printf("输入第%d组数据(x,y):\n",i);
scanf("%lf%*%lf",x+size,y+size);
}//输入
double ret= fun(x,y,size);
printf("所得结果为:%lf\n",ret);
delete x;/*释放内存,但是如果你电脑不是太古老,不写这个也没什么,估计这个程序用不了10MB以上的内存。下次重启系统的时候内存又回来了。*/
delete y;
return;
}//如果你想要自动获取长度的代码就有点复杂了。这个代码是新手学习的等级,一般控制台程序要处理大量数据的时候,建议写到文件中处理。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式