📄 niudun.cpp
字号:
#include <stdio.h>
#include <math.h>
long double x1,x2;
long double d1,d2;
long double h1,h2;
long double a,e,score;
void JieFp();
void JieF();
void JieA();
void JieX2();
void main()
{
printf("请输入x1,x2,精度 e\n");
scanf("%f %f %f",&x1,&x2,&e);
h1=x1;
h2=x2;
do
{
x1=h1;
x2=h2;
JieFp();
JieA();
JieF();
JieX2();
if((fabs(h1-x1) < e) && (fabs(h2-x2)<e)) break; //如果符合精度,则退出
else
{x1=h1;
x2=h2;
}
;}while(1);
printf("函数值为%e,x1为%e,x2为%e\n",score,h1,h2);
}
void JieFp()
{
// d1=2*x1-x2-10;
// d2=2*x2-x1-4;
// d1=-d1;
// d2=-d2;
d1=x1-8;
d2=x2-6;
d1=-d1;
d2=-d2;
}
void JieA()
{
long double up,down;
up=2*d1*x1+2*d2*x2-d2*x1-d1*x2-10*d1-4*d2;
down=(2*d1*d1+2*d2*d2-2*d1*d2);
if(down==0) a=0;
else
{
a=up/down;
a=-a;
}
}
void JieX2()
{
h1=x1+a*d1;
h2=x2+a*d2;
}
void JieF()
{
score=x1*x1+x2*x2-x1*x2-10*x1-4*x2+60;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -