怎样计算平方根啊..我不懂啊..各位尖子生..麻烦顺便教教..怎样计算平方根....
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 21:35:40
怎样计算平方根啊..我不懂啊..各位尖子生..麻烦顺便教教..怎样计算平方根....
怎样计算平方根啊..我不懂啊..
各位尖子生..麻烦顺便教教..怎样计算平方根....
怎样计算平方根啊..我不懂啊..各位尖子生..麻烦顺便教教..怎样计算平方根....
平方根计算的泰勒公式展开
function mysum=sr3(x,e)
%用泰勒展开计算平方根,abs(x)e|x==0
j=abs(2*k-3);
n=n*k;
m=m*j;
mysum=mysum+(-1)^(k+1)*(m/(2^k*n))*x.^k;
k=k+1;
end
用牛顿迭代法求平方根
用C语言,通过链表存储,用牛顿牛代法求平方根.
这是C语言实训时的作业.因此作了版面的设计.使用方便!
#include"math.h"
#include"stdio.h"
#include"conio.h"
#include"stdlib.h"
typedef struct lianbiao /*定义类型:struct lianbiao */
{
float x1;
float x0;
struct LIANBIAO *next;
}LIANBIAO;
/*函数原型*/
LIANBIAO *sestet(float c); /*建立链表*/
void displayall(LIANBIAO *psthead); /*全部显示*/
main()
{ LIANBIAO *psthead=NULL;
float a;
do
{
printf("\t请输入一个正数为a的值\n");
printf("\t");
scanf("%f",&a);
}while(anext=NULL; /*“头结点”的next成员的NULL*/
x1=c;
do /*进行迭代计算*/
{
x0=(x1+c/x1)/2;
h=x1-x0; /*定义x1-x0的值,即为误差值*/
temp=x1;
ptemp=(LIANBIAO*)malloc(sizeof(LIANBIAO));/*开辟一个新的单元*/
ptemp->x1=x1; /*得到ptemp指向的结构体中的成员x1的值*/
ptemp->x0=h; /*得到ptemp指向的结构体中的成员x0的值,即误差值*/
ptemp->next=pprep->next; /*“新结点”指向这个前趋结点的后续结点*/
pprep->next=ptemp; /*这个前趋结点指向“新结点”*/
pprep=ptemp; /*取得新的结点*/
x1=x0; /*x1取得平方根的值*/
}while(fabs(h)>k);
printf("\t您输入的是%f.\n\t此数的平方根为%f\n",c,x1);
return psthead; /*返回指向“头结点”的指针*/
}
/*全部显示*/
void displayall(LIANBIAO *psthead)
{
LIANBIAO *pst; /*调用链表里的函数*/
int m=0;
pst=psthead->next; /*将psthead原来指向结点中的next值赋给pst*/
printf("\n\n");
printf(" 迭代过程为:\n");
printf("\n");
while(pst!=NULL)
{
m++;
printf(" 第%d次迭代\t\tx0=%10f \t|\t误差值为%10f\n",m,pst->x1,pst->x0);/*输出迭代次数,输出pst指向的结点的数据*/
pst=pst->next; /*使pst指向下一个结点*/
}
printf("\n\n");
printf("\t共迭代%d次\n",m);
printf("\t共开辟空间%d个\n",m+1);
printf("\t利用率为%f %%\n",m*8*100.0/(m*12+12));
1楼的谁看的懂的啊