int m =sqrt((double)i);C語言是沒有重載的,C++才有,你應(yīng)該是用C++的編譯器來寫C語言吧在C++中sqrt有兩個(gè)重載函數(shù),一個(gè)參數(shù)是double,另一個(gè)是float由于你傳的參數(shù)是int在默認(rèn)的隱式類型轉(zhuǎn)換中int可以轉(zhuǎn)換成float也可以轉(zhuǎn)換為double,編譯器就不知道你想調(diào)用哪一個(gè)。
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括大竹網(wǎng)站建設(shè)、大竹網(wǎng)站制作、大竹網(wǎng)頁制作以及大竹網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,大竹網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到大竹省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
C語言中sqrt函數(shù)是指的開方運(yùn)算函數(shù),得到的結(jié)果是函數(shù)變量(可以是數(shù)值,也可以是變量名)的算術(shù)平方根。如輸入m=sqrt(4);,則輸出結(jié)果為2。或者對(duì)于變量a有賦值9,,則輸入m=sqrt(9),輸出結(jié)果為3.
需要注意的是以下三點(diǎn):
sqrt函數(shù)運(yùn)行的是結(jié)果是算術(shù)平方根,即不能運(yùn)算處負(fù)數(shù)值,也不能輸出虛數(shù)結(jié)果。如需要得到算術(shù)平方根中的負(fù)數(shù)值,則應(yīng)該在sqrt函數(shù)前添加負(fù)號(hào)。
sqrt函數(shù)的參數(shù)必須是非負(fù)數(shù)值,如果是負(fù)數(shù)值,則輸出會(huì)報(bào)錯(cuò),即數(shù)值無效;如果參數(shù)是未定義的非數(shù)字變量,則按回車后也會(huì)報(bào)錯(cuò),即變量名有誤。
sqrt函數(shù)的計(jì)算精度與C語言設(shè)置的精度有關(guān),可以通過設(shè)置更改精度。
#includestdio.h
#includemath.h
int?prime(int?m)
{
int?k,j;
k=(int)sqrt(m);?//加個(gè)強(qiáng)制轉(zhuǎn)換就可以了,不然會(huì)報(bào)警告。sqrt()的返回值類型是double????出現(xiàn)紅線,只是有可能是拼寫問題,不代表是錯(cuò)誤
for(j=2;j=k;j++)
if(m%j==0)
return?0;
return?1;
}
int?main()
{
int?m=2,n=20,i,s;
s=0;
for(i=m;i=n;i++)
if(prime(i)==0)
s+=i;
printf("Sum?is:%d\n",s);
return?0;
}
C語言中sqrt函數(shù)的使用方法:
C語言中sqrt函數(shù)是指的開方運(yùn)算函數(shù),得到的結(jié)果是函數(shù)變量(可以是數(shù)值,也可以是變量名)的算術(shù)平方根。在VC6.0中的math.h頭文件的函數(shù)原型為doublesqrt(double)。
說明:sqrt系SquareRootCalculations(平方根計(jì)算),通過這種運(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)
注意沒有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ù)值無效;如果參數(shù)是未定義的非數(shù)字變量,則按回車后也會(huì)報(bào)錯(cuò),即變量名有誤。
3.sqrt函數(shù)的計(jì)算精度與C語言設(shè)置的精度有關(guān),可以通過設(shè)置更改精度。
使用這個(gè)函數(shù)的時(shí)候需要引入math.h頭文件
示例代碼如下:
#include?stdio.h
#include?math.h /*引入math.h頭文件*/
int?main(int?argc,?char?*argv[])
{
printf("%lf\n",?sqrt(9)); /*使用sqrt函數(shù)*/
return?0;
}
運(yùn)行結(jié)果如下: