日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言之如何求三次方根_C 語言

作者:又摘桃花賣酒錢 ? 更新時間: 2023-01-01 編程語言

C語言求三次方根

前話

說到C語言求根,我們一般會想到用sqrt(x)函數,它的輸入值和返回值都是double型,x取整將會導致編譯器錯誤。但是sqrt(x)只能求x的二次方根,求x的三次方根要用到pow(x,y)函數。

pow(x,y)聲明在"math.h"頭文件中,和sqrt(x)不同,pow(x,y)的x和y允許取整數值,也可以是double。

錯誤示范

要求x的三次方根,就是求x的1/3次方,一開始,我這樣寫:pow(x,1/3);看看代碼和運行結果。

#include<stdio.h>
#include<math.h>
 
int main(){
	double a=27, b=1/3;
    printf("%lf", pow(a, b));
    return 0;
}

結果是1,也就是x的0次方,為什么會這樣?

這和計算機的運算有關,還記得老師講過,整形和整形的運算結果只能是整形,而C語言保留整形的方法不是四舍五入,而是九舍零留;也就是1/3=0.3333...=0

正確的打開方式

要想保留1/3的小數部分,那得這么寫:pow(x, 1.0/3);看看運行結果。

#include<stdio.h>
#include<math.h>
 
int main(){
	double a=27, b=1./3;      //給1加了個小數點,會被認成是浮點型數
    printf("%lf", pow(a, b));
    return 0;
}

計算成功!?

延伸

由此包括倒數,負數次方也能夠計算了。

#include<stdio.h>
#include<math.h>
 
int main(){
	double a=27, b=-1./3;     //計算27的負三分之一次方,結果應為三分之一
    printf("%lf", pow(a, b));
    return 0;
}

C語言中,開3次方用什么?

  • question: 開平方用 sqrt(), 開三次方用什么啊?
  • answer: 開立方也就是求 1/3 次方, 所以可以用pow()函數

example:

#include <stdio.h>
#include <math.h>

int main()
{
? ? double a = pow(8, 1.0 / 3);
? ? printf("%f\n", a);

? ? return 0;
}

程序運行結果:

a = 2.000000

原文鏈接:https://blog.csdn.net/m0_65117134/article/details/122294930

欄目分類
最近更新