1,for循環(huán)的條件錯了,應該是大于號。
創(chuàng)新互聯(lián)網站建設公司,提供做網站、成都網站制作,網頁設計,建網站,PHP網站建設等專業(yè)做網站服務;可快速的進行網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,是專業(yè)的做網站團隊,希望更多企業(yè)前來合作!
2,math.h中的函數(shù)用的時候要慎重,這些都是用來做復雜的數(shù)學計算的,時間開銷都很大。
3,求余只能對整數(shù)操作,這點是必然的。但浮點數(shù)是可以轉換成整數(shù)的,可以用強制類型轉換,或者設一個整型的中間變量。注意浮點數(shù)轉整數(shù)的時候是舍入的。當然,這里只是說這個事,不建議這樣做。
建議的做法有兩個,簡單點延用原有的思路,可以自己寫一個求10的k次方的函數(shù),用整數(shù)進行運算。
int pow10n( int k )
{
r = 1;
for(i=0; i k ; ++i)
r *= 10;
return r;
}
復雜點的做法是把求10的k次方這個運算和拆分n的循環(huán)嵌在一起,這個應該是正統(tǒng)的做法。
for( k=0; k3; ++k )
{
n %= 10;
}
當然,這個算法得到的結果是逆序的,4、3、2、1
這有兩個辦法,一個是把結果順序放到數(shù)組中,輸出的時候把順序倒過來,說白了是用中間變量。
另外一個辦法是用棧,或者用遞歸(本質上也是用的棧),直接按逆序出結果。當然,這個方法對初學者有點難度了。
C語言中除了使用函數(shù)pow實現(xiàn)乘方運算,沒有其他的運算符號可以用來直接表示乘方,就算自己實現(xiàn)也只能是以函數(shù)的形式體現(xiàn)出來。
1、C語言中計算一個數(shù)的N次方可以用庫函數(shù)pow來實現(xiàn),還可以直接使用2^3就可以算出結果。pow函數(shù)原型:double pow(double x,double y)。其中x值是底數(shù),y值是冪。
舉例:
double a=pow(3.14,2)計算3.14的平方。
注意:使用pow函數(shù)時,需要將頭文件#includemath.h包含進源文件中。
2、在C語言中,10的n次方可以表示為pow(10,n)。其中pow函數(shù)在頭文件math.h中,所以調用該函數(shù)的時候,必須將math.h加進來,即#includemath.h。
原型:extern float pow(float x,float y)
功能:計算x的y次冪。
說明:x應大于零,返回冪指數(shù)的結果。
C語言的應用:
1、操作系統(tǒng),C語言最著名的應用領域就是操作系統(tǒng)了,目前所有的操作系統(tǒng)內核都是C語言寫的,最著名的就是Unix和Linux了。
2、單片機,由于C語言在位操作上的優(yōu)越性,在單片機領域,C語言也一直獨領風騷,雖然現(xiàn)在出現(xiàn)了一些用其他編程語言操作單片機的方法,但也都是用C語言封裝過的,可以說核心還是C語言。
3、驅動程序,無論是操作系統(tǒng)或者單片機,對硬件的驅動除了匯編(比較繁瑣),都是用C語言來編寫。
4、編譯器或解釋器,由于C語言效率高的特點,很多編譯器也選擇的使用C語言來開發(fā)。
5、系統(tǒng)服務,由于操作系統(tǒng)都提供了C語言的API,并且C語言的執(zhí)行效率比較高,所以用C語言來寫系統(tǒng)服務是最適合不過的。
6、應用軟件,由于C語言沒有成熟的開發(fā)框架,所以不適合開發(fā)大型應用程序。但也有一些對效率要求比較高的程序使用C語言開發(fā),如Git。
1、頭文件:#include
2、原型:
double pow(double x, double y);
pow() 函數(shù)用來求 x 的 y 次冪(次方)
pow()用來計算以x 為底的 y 次方值,然后將結果返回。設返回值為 ret,則 ret = xy。
3、舉例如下:
double a = pow(4, 2); ?// 計算4的平方
4、可能導致錯誤的情況:
如果底數(shù) x 為負數(shù)并且指數(shù) y 不是整數(shù),將會導致 domain error 錯誤。
如果底數(shù) x 和指數(shù) y 都是 0,可能會導致 domain error 錯誤,也可能沒有;這跟庫的實現(xiàn)有關。
如果底數(shù) x 是 0,指數(shù) y 是負數(shù),可能會導致 domain error 或 pole error 錯誤,也可能沒有;這跟庫的實現(xiàn)有關。
如果返回值 ret 太大或者太小,將會導致 range error 錯誤。
錯誤代碼:
如果發(fā)生 domain error 錯誤,那么全局變量 errno 將被設置為 ?EDOM;
如果發(fā)生 pole error 或 range error 錯誤,那么全局變量 errno 將被設置為 ERANGE。
注意:1、使用pow函數(shù)時,需要將頭文件#include包 ? ? ? ? ?含進源文件中。
2、用pow(x,y)的話要用到math.h頭文件。
擴展資料:
1、 三角函數(shù): double sin (double);正弦 ? double cos (double);余弦 ? double tan (double);正切
2 、反三角函數(shù): ? double asin (double); 結果介于[-PI/2, PI/2] ? double acos (double); 結果介于[0, PI] ? double atan (double); 反正切(主值), 結果介于[-PI/2, PI/2] ? double atan2 (double, double); 反正切(整圓值), 結果介于[-PI/2, PI/2]
3 、雙曲三角函數(shù): ? double sinh (double); ? double cosh (double); ? double tanh (double);
4 、指數(shù)與對數(shù): ? double exp (double); ? double sqrt (double);開平方 ? double log (double); 以e為底的對數(shù) ? double log10 (double);以10為底的對數(shù) ? double pow(double x, double y);計算以x為底數(shù)的y次冪 ? float powf(float x, float y); 功能與pow一致,只是輸入與輸出皆為浮點數(shù)
5 、取整: ? double ceil (double); 取上整 ? double floor (double); 取下整
6 、絕對值: ? double fabs (double);求絕對值 ? double cabs(struct complex znum) ;求復數(shù)的絕對值
7 、標準化浮點數(shù): ? double frexp (double f, int *p); 標準化浮點數(shù), f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] ) ? double ldexp (double x, int p); 與frexp相反, 已知x, p求f
8 、取整與取余: ? double modf (double, double*); 將參數(shù)的整數(shù)部分通過指針回傳, 返回小數(shù)部分 ? double fmod (double, double); 返回兩參數(shù)相除的余數(shù)
9 、其他: ? double hypot(double x, double y);已知直角三角形兩個直角邊長度,求斜邊長度 ? double ldexp(double x, int exponent);計算x*(2的exponent次冪) ? double poly(double x, int degree, double coeffs [] );計算多項式 ? nt matherr(struct exception *e);數(shù)學錯誤計算處理程序
extern float pow(float x, float y)
用法:#include math.h
功能:計算x的y次冪。
說明:x應大于零,返回冪指數(shù)的結果。
舉例:
// pow.c
#include stdlib.h
#include math.h
#include conio.h
void main()
{
printf("4^5=%f",pow(4.,5.));
getchar();
}
相關函數(shù):pow10
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。
C語言中計算一個數(shù)的N次方可以用庫函數(shù)pow來實現(xiàn)。
函數(shù)原型:double pow(double x, double y);
功 能:計算x^y的值
返 回 值:計算結果
舉例如下:
double a = pow(3.14, 2); // 計算3.14的平方
注:使用pow函數(shù)時,需要將頭文件#includemath.h包含進源文件中。
可以用在math.h頭文件中聲明的pow()函數(shù)求,例如:
要求a的b次方,就用pow(a,b)即可。
^符號在C中是位異或操作符,不用于求乘方。