}
}
实验五
#include
voidmain(void)
{
intt=2;
ints=0;
for(inti=1;i<=7;i++)
{
s=s+t;
t=t*10+2;
}
cout<<"2+22+222+...+2222222="<
}
#include
voidmain(void)
{floaty=1,t=1;//t为通项,初值为1,即1!
,y为结果,初值为1
intn;
cout<<"Inputn:
";//输出提示信息
cin>>n;//输入欲求的项数
for(inti=2;i<=n;i++)
{t=t*i;//根据前一项求后一项
y=y+t;//通项累加和
}
cout<<"1!
+2!
+3!
+....+"<="<}
#include
#include
voidmain(void)
{
floatx,y1,y2;
cout<<"请输入x的值:
";
cin>>x;
y2=x;
do
{
y1=y2;
y2=2*y1/3+x/y1/y1/3;
}while(fabs(y1-y2)>1e-5);
cout<<"y="<}
#include
voidmain(void)
{
floatx,y,t;//t为通项,x为未知数
intn;//n为通项个数,必须是整数
cout<<"Inputnx:
";//输出提示信息
cin>>n>>x;//从键盘输入数据102.5
y=x;//结果的初始值,因为循环从第2项开始,所以第1项要先赋给结果y
t=x;//通项的初始值
for(inti=2;i<=n;i++)//假设第1项已求出(初始值),从第2项开始计算
{
t=-t*x*x/((2*i-1)*(2*i-2));//首先计算通项,计算方法是用前1项的值推算后1项的值
//即求出前后两项相除的结果,这个结果是它们相差的倍数,然后前1项的值乘以这个倍数即为后1项的值
y=y+t;//将当前的通项值累加起来
}
cout<<"y="<}
实验六
#include
floatfun(floatx)//函数fun求形参x的函数值,并将结果返回
{
floaty;//定义x的函数值
y=2*x*x+3*x+5;//计算函数值
returny;//将结果返回
}
voidmain(void)
{
floaty1,y2;//定义x为1和1.2时的函数值
y1=fun(1.0);//将1.0作为实参调用fun函数,即赋给形参x,函数值即为所求的结果
y2=fun(1.2);//将1.2作为实参调用fun函数,即赋给形参x,函数值即为所求的结果
cout<<"y1="<cout<<"y2="<}
#include
#include
floatf(floatx)//求形参x的多项式的值
{
returnx*x+3*x-4;
}
floatf1(floatx)//求形参x的多项式的导数值
{
return2*x+3;
}
voidmain(void)
{
floatx1,x0;//定义存放新旧迭代值的变量
x1=0;//迭代变量赋初值
do
{
x0=x1;//迭代循环,将新的迭代值变成旧的迭代值,再去求新的迭代值
x1=x0-f(x0)/f1(x0);//用旧的迭代值求新的迭代值
}while(fabs(x1-x0)>1e-5);//不满足结束条件,一直迭代循环
cout<<"x="<}
#include
#include
floatf(floatx)//根据形参x求函数f(x)=x*x+3*x-4的值
{returnx*x+3*x-4;
}
voidmain(void)
{
floatx1,x2,x0;
do//判断输入的初值是否满足要求
{cout<<"请输入初值x1和x2:
";
cin>>x1>>x2;//输入初值
}while((f(x1)*f(x2))>0);//当解不在初值范围之内时,重新循环输入初值
do
{x0=(x1+x2)/2;//根据初值求方程的新的根x0
if(f(x0)*f(x1)>0)//实际的根在x2和x0之间
x1=x0;//将x0作为新的x1
else//实际的根在x1和x0之间
x2=x0;//将x0作为新的x2
}while(fabs(f(x0))>1e-5);//判断x0是否是满足方程的解的精度
cout<<"x0="<}
#include
#include
floatf(floatx)//根据形参x求函数f(x)=x*x+3*x-4的值
{returnx*x+3*x-4;
}
voidmain(void)
{
floatx1,x2,x0;
do//判断输入的初值是否满足要求
{cout<<"请输入初值x1和x2:
";
cin>>x1>>x2;//输入初值
}while((f(x1)*f(x2))>0);//当解不在初值范围之内时,重新循环输入初值
do
{x0=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));//根据初值求方程的新的根x0
if(f(x0)*f(x1)>0)//实际的根在x2和x0之间
x1=x0;//将x0作为新的x1
else//实际的根在x1和x0之间
x2=x0;//将x0作为新的x2
}while(fabs(f(x0))>1e-5);//判断x0是否是满足方程的解的精度
cout<<"x0="<}
#include
#include
floatf(floatx)//求形参x的多项式的值
{
returnx*x+3*x-4;
}
floatf1(floatx)//求形参x的多项式的导数值
{
return2*x+3;
}
floatff(floatx)
{
floaty;
if(fabs(f(x))<1e-5)
y=x;
else
y=ff(x-f(x)/f1(x));
returny;
}
voidmain(void)
{
floatx1;//定义存放新旧迭代值的变量
x1=0;//迭代变量赋初值
cout<<"x="<