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);
如果問的是開方展開式,那要知道如何計算先