1. 大一下学期刚开始学c语言 求n次方根 用牛顿迭代法 别用一些不懂的知识 就用牛顿迭代法前面和后面一点点的
请参考:网络之牛顿迭代法。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
#include<stdio.h>
#include<math.h>
intn;
inty;
doublefunc(doublex)//函数
{
doublek=1;
inti;
for(i=0;i<n;i++)
{
k*=x;
}
returnk-y;
}
doublefunc1(doublex)//导函数
{
doublek=1;
inti;
for(i=0;i<n-1;i++)
{
k*=x;
}
returnn*k;
}
intNewton(double*x,doubleprecision,intmaxcyc)//迭代次数
{
doublex1,x0;
intk;
x0=*x;
for(k=0;k<maxcyc;k++)
{
if(func1(x0)==0.0)//若通过初值,函数返回值为0
{
printf("迭代过程中导数为0! ");
return0;
}
x1=x0-func(x0)/func1(x0);//进行牛顿迭代计算
if(fabs(x1-x0)<precision||fabs(func(x1))<precision)//达到结束条件
{
*x=x1;//返回结果
return1;
}
else//未达到结束条件
x0=x1;//准备下一次迭代
}
printf("迭代次数超过预期! ");//迭代次数达到,仍没有达到精度
return0;
}
intmain()
{
doublex,precision;
intmaxcyc;
printf("输入被开方数:");
scanf("%d",&y);
printf("输入开方数:");
scanf("%d",&n);
printf("输入初始迭代值x0(不为0):");
scanf("%lf",&x);
printf("输入最大迭代次数:");
scanf("%d",&maxcyc);
printf("迭代要求的精度:");
scanf("%lf",&precision);
if(Newton(&x,precision,maxcyc)==1)//若函数返回值为1
printf("该值附近的根为:%lf ",x);
else//若函数返回值为0
printf("迭代失败! ");
getchar();
system("pause");
}
2. c语言中的开方
头文件:#include <math.h>
sqrt() 用来求给定值的平方根,其原型为:double sqrt(double x);double sqrt(double x)。
x 为要计算平方根的值。
如果 x < 0,将会导致 domain error 错误,并把全局变量 errno 的值为设置为 EDOM。
返回 x 平方根。注意,使用 GCC 编译时请加入-lm。实例计算200 的平方根值。
例子:
#include <math.h>main(){double root;root = sqrt(200);printf("answer is %f ", root);}
输出结果:answer is 14.142136。
(2)c语言开n次根号扩展阅读:
使用sqrt函数需要注意的事项:
1、sqrt函数运行的是结果是算术平方根,即不能运算处负数值,也不能输出虚数结果。如需要得到算术平方根中的负数值,则应该在sqrt函数前添加负号。
2、sqrt函数的参数必须是非负数值,如果是负数值,则输出会报错,即数值无效;如果参数是未定义的非数字变量,则按回车后也会报错,即变量名有误。
3、sqrt函数的计算精度与C语言设置的精度有关,可以通过设置更改精度。
3. c语言中根号怎么打
我们经常会使用C语言进行数字运算,其中根号是我们比较常用的运算形式,那么如何在C语言中输入根号呢?下面小编给大家分享一下。
开启分步阅读模式
工具材料:
dev c++
操作方法
01
首先我们打开dev C++软件新建一个C项目,如下图所示
02
接下来在C项目文件中导入math函数库,如下图所
03
然后我们就可以利用sqrt来代表根号了,如下图所示
04
最后运行C语言文件,我们就可以看到数字已经被求根了
c语言中没有根号。 首先在 main()函数 上边加个include "math.h" 因为开根号属于 数学函数里边的函数,要使用根号就要加上#inculde "math.h", 然后在你要开根号的数的前边加个 sqrt,就可以了 例如 inculde "math.h" main() { float a,b; printf("please input a nuberm:"); scanf("%f",&a); b=sqrt(a); printf("%f ",b); }这个程序就是 让 用户输入个数字,然后输出原数值的开根号后的结果 例: include
c语言里面开方是不用根号的
你现在程序上面上面 写上include
然后条用sqrt()函数就可以开方了
sqrt是开方
pow(x,n)是开N次方
4. C语言 开n次根号
可以将其转换为对数函数,2的3次方是8;将其转换为对数函数
double x=8,y=2;
double c=log10(x)/log10(y);
pritf("%lf",c);
log以2为底数8的对数可以转换为log以10为底数8的对数除以log以10为底数2的对数
可能还有别的方法,暂时只会这一种不过这个也很好用呀!!!
5. C语言、输入一个整数m,求m的n次方根,卜用数学函数``
// N>0,M>0 #include<stdio.h> #include<math.h> void main() { int m,n; double p,s; int i; printf("请输入整数m和n次方:"); scanf("%d%d",&m,&n); for(p=1.0;p<=sqrt(m);p+=0.000001) { s=1.0; for(i=0;i<n;i++) s*=p; if(m-s<1e-6) { printf("%lf\n",p); break; } } }
采纳哦
6. c语言怎么表示一个数的n次方
C语言中计算一个数的N次方可以用库函数pow来实现。函数原型:double pow(double x, double y)。
代码如下:
#include <stdio.h>
#include <math.h>
int main( )
{
printf("%f",pow(x,y));
return 0;
}
注:使用pow函数时,需要将头文件#include<math.h>包含进源文件中。、
(6)c语言开n次根号扩展阅读:
其他方法表示一个数的n次方:
#include <stdio.h>
int main( )
{ int i,k = n; for(i = 1;i < n;i++)
{ k *= 2;
}
printf("%d",k);
return 0;
}
7. c语言中怎么开根号
1、#include<math.h>
sqrt()
2、用c语言函数
8. C语言中根号3次或多次怎么样表示
sqrt()是开平方
开立方也就是求1/3次方,所以可以用pow()函数:
例如求8的开立方。
double a=pow(8,1.0/3);
pow(x,n)函数不是开方,而是乘方,即x的n次方
9. 用C语言开a的n次根号
之前打错了
[(n次根号下a+n次根号下b+n次根号下c)/3]的n次方在n趋向于无穷大是的极限
是
3次根号下abc
即a^1/3*b^1/3*c^1/3
a^(1/n)~1+(1/n)lna
a^(1/n)+b^(1/n)+c^(1/n)~3+(1/n)lnabc
=3(1+(1/3n)ln(abc))~3(abc)^(1/3n)
∴{(a^(1/n)+b^(1/n)+c^(1/n))/3}^n=(abc)^1/3
10. 计算机开n次方的程序用c语言怎样写的
如果问的是计算符号,那么就是用^,比如平方就是^2,开方就是^(1/2);
如果问的是开方展开式,那要知道如何计算先