若開(kāi)平方,可以使用函數(shù)sqrt()完成,若開(kāi)其他次方,可以借助函數(shù)pow()完成。
創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷(xiāo),提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)站開(kāi)發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營(yíng)銷(xiāo)、微信平臺(tái)小程序開(kāi)發(fā)、公眾號(hào)商城、等建站開(kāi)發(fā),創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專(zhuān)家,為不同類(lèi)型的客戶(hù)提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶(hù)在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢(shì)。
開(kāi)平方示例:
#includemath.h//sqrt函數(shù)使用到的頭文件
#includestdio.h
int main(void)
{
double x=4.0,result;
result=sqrt(x);//對(duì)x開(kāi)平方
printf("%g\n",result);
return 0;
}
//輸入結(jié)果:2
開(kāi)三次方示例:
#includemath.h//pow函數(shù)使用的頭文件
#includestdio.h
int main(void)
{
double x=27.0,result;
result=pow(x, 1.0/3);//對(duì)x開(kāi)三次方
printf("%g\n",result);
return 0;
}
//輸出結(jié)果:3
對(duì)于借助pow函數(shù)實(shí)現(xiàn)開(kāi)方的可以借鑒開(kāi)三次方示例代碼。
直接用兩個(gè)數(shù)(或變量)相乘就可以表示平方,比如x*x
不過(guò)如果,需要求m的n次方,就需要用到pow(x,y)乘方(包括開(kāi)方)這個(gè)庫(kù)函數(shù)了,使用pow(x,y)這個(gè)庫(kù)函數(shù),需要math.h頭文件。
其中x和y都是雙精度浮點(diǎn)(double)型。
#include"math.h"
U32sqrt_fun(U64x){
U32low=0;
U32high=x;
U32mid;
U64data;
while(low high){
mid=(low+high)/2;
data=(U64)mid*mid;
if(data x){
high=mid-1;
}else if(data x){
low=mid+1;
}else{
return(mid);
}
}
return(mid);
}
voidmain(void){
volatileU32td1,td2;
U64d=0x12345678ABCD;
td2=sqrt(d);
td1=sqrt_fun(d);
}
擴(kuò)展資料
C語(yǔ)言無(wú)參函數(shù)的定義:
dataType是返回值類(lèi)型,它可以是C語(yǔ)言中的任意數(shù)據(jù)類(lèi)型,例如int、float、char等。
functionName 是函數(shù)名,它是標(biāo)識(shí)符的一種,命名規(guī)則和標(biāo)識(shí)符相同。函數(shù)名后面的括號(hào)( )不能少。
body是函數(shù)體,它是函數(shù)需要執(zhí)行的代碼,是函數(shù)的主體部分。即使只有一個(gè)語(yǔ)句,函數(shù)體也要由{}包圍。
如果有返回值,在函數(shù)體中使用return語(yǔ)句返回。return出來(lái)的數(shù)據(jù)的類(lèi)型要和dataType一樣。
一般的來(lái)說(shuō)在進(jìn)行開(kāi)方運(yùn)算時(shí),都會(huì)使用sqrt函數(shù)進(jìn)行開(kāi)方運(yùn)算。使用sqrt時(shí)就需要引用頭文件math.h。(這里使用%d來(lái)輸出整數(shù)):
#includestdio.h
#includemath.h
int Mysqrt(int n)
{
return sqrt(n*1.0);
}
int main()
{
printf("%d\n",Mysqrt(10));
printf("%d\n",Mysqrt(9));
return 0;
}
擴(kuò)展資料:
C語(yǔ)言編寫(xiě)注意事項(xiàng):
1、變量名以字母和數(shù)字組成, (下劃線"_"被默認(rèn)為字符,以下劃線為首寫(xiě)字母的為庫(kù)類(lèi)變量名),變量常以小寫(xiě)字母開(kāi)頭.內(nèi)部變量命前31位有效,外部名至少前6位保持唯一性、大小寫(xiě)在C語(yǔ)言中是區(qū)分的。
2、一個(gè)字符常量為一個(gè)整數(shù), 以''單引號(hào)括起。 '0' 為48, 與0沒(méi)有任何關(guān)系。
3、ANSI C語(yǔ)言的轉(zhuǎn)義符: \a 響鈴符; \b 回退符; \f 換頁(yè)符; \n 換行符; \r 回車(chē)符; \t 橫向制表符 \v 縱向制表符; \\ 反斜杠; \? 問(wèn)號(hào); \' 單引號(hào);\" 雙引號(hào); \ooo 八進(jìn)制數(shù); \xhh 十六進(jìn)制數(shù);
'\0' 表示0, 即(null).通常以'\0'形式表示0 以強(qiáng)調(diào)某些表達(dá)是的字符屬性。
4、'x'與"x"的區(qū)別: 'x'表示一個(gè)整數(shù), 字母x在極其字符集中對(duì)應(yīng)的數(shù)值、"x"表示一個(gè)包含一個(gè)字符x 以及一個(gè)結(jié)束符'\0'。
5、const在聲明變量中起限制作用, 該限定變量的值不能被修改。
C語(yǔ)言中sqrt()意思是平方根函數(shù),計(jì)算一個(gè)非負(fù)實(shí)數(shù)的平方根。 在VC6.0中的math.h頭文件的函數(shù)原型為double sqrt(double number)。sqrt()函數(shù)的輸入?yún)?shù)不允許為負(fù)數(shù),若輸入賦值作為函數(shù)入?yún)?,將得不到正確的結(jié)果。因此在調(diào)用函數(shù)之前,應(yīng)檢查函數(shù)輸入?yún)?shù)。
擴(kuò)展資料:
sqrt()函數(shù)的輸入?yún)?shù)必須以double類(lèi)型輸入,函數(shù)返回類(lèi)型為double型,因此必須使用double型的變量來(lái)進(jìn)行接收返回的數(shù)值。當(dāng)輸入數(shù)據(jù)不是double型時(shí),應(yīng)使用強(qiáng)制類(lèi)型轉(zhuǎn)換,將其轉(zhuǎn)換為double類(lèi)型。
在函數(shù)接收引用的數(shù)值時(shí),應(yīng)該用? %lf?來(lái)表示,否則,將會(huì)在輸入或輸出時(shí)出現(xiàn)數(shù)據(jù)錯(cuò)誤,尤其是在數(shù)據(jù)輸入的時(shí)候,會(huì)直接導(dǎo)致數(shù)據(jù)出錯(cuò)。這也都主要是由于不同類(lèi)型的數(shù)據(jù)存儲(chǔ)和讀取的方式不同導(dǎo)致的。
C語(yǔ)言中sqrt函數(shù)的使用方法:
C語(yǔ)言中sqrt函數(shù)是指的開(kāi)方運(yùn)算函數(shù),得到的結(jié)果是函數(shù)變量(可以是數(shù)值,也可以是變量名)的算術(shù)平方根。在VC6.0中的math.h頭文件的函數(shù)原型為doublesqrt(double)。
說(shuō)明:sqrt系SquareRootCalculations(平方根計(jì)算),通過(guò)這種運(yùn)算可以考驗(yàn)CPU的浮點(diǎn)能力。
程序例:
#include
#include
intmain(void)
{
doublex=4.0,result;
result=sqrt(x);//result*result=x
printf(“Thesquarerootof%fis%f\n”,x,result);
return0;
}
VC2008后為重載函數(shù),原型為floatsqrt(float),doublesqrt(double),doublelongsqrt(doublelong)
注意沒(méi)有sqrt(int),但是返回值可以為int。
注意事項(xiàng):
1.sqrt函數(shù)運(yùn)行的結(jié)果是算術(shù)平方根,即不能運(yùn)算出負(fù)數(shù)值,也不能輸出虛數(shù)結(jié)果。如需要得到算術(shù)平方根中的負(fù)數(shù)值,則應(yīng)該在sqrt函數(shù)前添加負(fù)號(hào)。
2.sqrt函數(shù)的參數(shù)必須是非負(fù)數(shù)值,如果是負(fù)數(shù)值,則輸出會(huì)報(bào)錯(cuò),即數(shù)值無(wú)效;如果參數(shù)是未定義的非數(shù)字變量,則按回車(chē)后也會(huì)報(bào)錯(cuò),即變量名有誤。
3.sqrt函數(shù)的計(jì)算精度與C語(yǔ)言設(shè)置的精度有關(guān),可以通過(guò)設(shè)置更改精度。