需要準(zhǔn)備的材料分別有:電腦、C語(yǔ)言編譯器。
創(chuàng)新互聯(lián)公司專(zhuān)注于利津企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,成都做商城網(wǎng)站。利津網(wǎng)站建設(shè)公司,為利津等地區(qū)提供建站服務(wù)。全流程按需定制開(kāi)發(fā),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
1、首先,打開(kāi)C語(yǔ)言編譯器,新建一個(gè)初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,輸入C語(yǔ)言代碼:printf("%lf", pow(11, 3));?。
3、編譯器運(yùn)行test.cpp文件,此時(shí)計(jì)算出了11的3次方的值被打印。
double pow(double x, double y);
pow()用來(lái)計(jì)算以x 為底的 y 次方值,然后將結(jié)果返回
可能導(dǎo)致錯(cuò)誤的情況:
如果底數(shù) x 為負(fù)數(shù)并且指數(shù) y 不是整數(shù),將會(huì)導(dǎo)致 domain error 錯(cuò)誤。
如果底數(shù) x 和指數(shù) y 都是 0,可能會(huì)導(dǎo)致 domain error 錯(cuò)誤,也可能沒(méi)有;這跟庫(kù)的實(shí)現(xiàn)有關(guān)。
如果底數(shù) x 是 0,指數(shù) y 是負(fù)數(shù),可能會(huì)導(dǎo)致 domain error 或 pole error 錯(cuò)誤,也可能沒(méi)有;這跟庫(kù)的實(shí)現(xiàn)有關(guān)。
如果返回值 ret 太大或者太小,將會(huì)導(dǎo)致 range error 錯(cuò)誤。
錯(cuò)誤代碼:
如果發(fā)生 domain error 錯(cuò)誤,那么全局變量 errno 將被設(shè)置為 ?EDOM;
如果發(fā)生 pole error 或 range error 錯(cuò)誤,那么全局變量 errno 將被設(shè)置為 ERANGE。
注意,使用 GCC 編譯時(shí)請(qǐng)加入-lm。
#includestdio.h
#includemath.h
intmain()
{ printf("7 ^ 3 = %f\n",pow(7.0,3.0));
printf("4.73 ^ 12 = %f\n",pow(4.73,12.0));
printf("32.01 ^ 1.54 = %f\n",pow(32.01,1.54));
return0;}
輸出結(jié)果:
7 ^ 3 = 343.000000
4.73 ^ 12 = 125410439.217423
32.01 ^ 1.54 = 208.036691
C語(yǔ)言中計(jì)算x的n次方可以用庫(kù)函數(shù)來(lái)實(shí)現(xiàn)。具體的代碼如下:
#include stdio.h
#include math.h
int main( ) {printf("%f",pow(x,n));return 0;}
C語(yǔ)言是一種結(jié)構(gòu)化語(yǔ)言,它有著清晰的層次,可按照模塊的方式對(duì)程序進(jìn)行編寫(xiě),且c語(yǔ)言的處理和表現(xiàn)能力都非常的強(qiáng)大,依靠非常全面的運(yùn)算符和多樣的數(shù)據(jù)類(lèi)型,可以輕易完成各種數(shù)據(jù)結(jié)構(gòu)的構(gòu)建,通過(guò)指針類(lèi)型更可對(duì)內(nèi)存直接尋址以及對(duì)硬件進(jìn)行直接操作。
擴(kuò)展資料:
如果一個(gè)變量聲明時(shí)在前面使用 * 號(hào),表明這是個(gè)指針型變量。換句話說(shuō),該變量存儲(chǔ)一個(gè)地址,而 *(此處特指單目運(yùn)算符 * ,下同。C語(yǔ)言中另有 雙目運(yùn)算符 *) 則是取內(nèi)容操作符,意思是取這個(gè)內(nèi)存地址里存儲(chǔ)的內(nèi)容。指針是 C 語(yǔ)言區(qū)別于其他同時(shí)代高級(jí)語(yǔ)言的主要特征之一。
指針不僅可以是變量的地址,還可以是數(shù)組、數(shù)組元素、函數(shù)的地址。通過(guò)指針作為形式參數(shù)可以在函數(shù)的調(diào)用過(guò)程得到一個(gè)以上的返回值,不同于return(z)這樣的僅能得到一個(gè)返回值。
參考資料來(lái)源:百度百科-C語(yǔ)言
方法1:
遞歸、循環(huán)、樓上的說(shuō)的很詳細(xì)了
方法2:
高精度+二分
下附法2的程序,大概在x=5000時(shí)可以1s跑出(我的7年老電腦上。。。)
你的機(jī)子肯定能跑更大的。。。
結(jié)果的位數(shù)如果不夠在maxn那里改,不過(guò)誰(shuí)也算不出1000w位吧,應(yīng)該夠了。。。
在文件"hello.in"中輸入,輸出在"hello.out"
#includestdio.h
#define
maxn
10000000
#define
max(a,b)
ab?a:b
int
x,a[maxn],b[maxn],o;
int
ans[maxn],p;
int
s3[maxn];
void
Mult(int
s1[],int
*l1,int
s2[],int
l2)
{
int
i,j;
for(i=1;
i=*l1+l2+2;
i++)
s3[i]=0;
for(i=1;
i=*l1;
i++)
for(j=1;
j=l2;
j++)
s3[i+j-1]+=s1[i]*s2[j];
j=*l1+l2-1;
for(i=1;
i=j;
i++)
if(s3[i]9)s3[i+1]+=s3[i]/10,s3[i]%=10,j=max(j,i+1);
for(i=1;
i=j;
i++)
s1[i]=s3[i];
*l1=j;
}
void
Init(void)
{
int
i,j=0,k;
i=x;
p=1;
ans[1]=1;
for(;i;i=i1)
a[++j]=i1;
while(x)
b[++o]=x%10,x/=10;
for(i=j;
i;
i--)
{
Mult(ans,p,ans,p);
if(a[i])
Mult(ans,p,b,o);
}
for(i=p;
i=1;
i--)
printf("%ld",ans[i]);
printf("\n");
}
int
main(void)
{
freopen("hello.in","r",stdin);
freopen("hello.out","w",stdout);
scanf("%ld",x);
Init();
return
0;
}
C語(yǔ)言中表達(dá)n次方可以用pow函數(shù)。
函數(shù)原型:double pow(double x, double y)
功 能:計(jì)算x^y的值
返 回 值:計(jì)算結(jié)果
舉例:
double a;a = pow(3.14, 2); // 計(jì)算3.14的平方,并將結(jié)果保存在變量a中
注:使用pow函數(shù)必須將頭文件#includemath.h包含進(jìn)源文件中
當(dāng)前文章:c語(yǔ)言x次方函數(shù) c語(yǔ)言次方函數(shù)怎么寫(xiě)
本文路徑:http://www.muchs.cn/article28/hggdjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、微信小程序、電子商務(wù)、手機(jī)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)