//(1)定義函數(shù)(x,n),計(jì)算x的n次冪#include "stdio.h"
創(chuàng)新互聯(lián)建站基于成都重慶香港及美國等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務(wù)器托管報(bào)價(jià),主機(jī)托管價(jià)格性價(jià)比高,為金融證券行業(yè)中國電信成都樞紐中心,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專業(yè)成都idc公司。
double f(double x,int n)
{
double s=1.0;
int i;
for(i=1;i=n;i++)
{
s=s*x;
}
return s;
}
void main()
{
double x;
int n;
printf("請輸入x:");
scanf("%lf",x);
printf("請輸入n:");
scanf("%d",n);
printf("%lf的%d次冪等于%lf\n",x,n,f(x,n));
}運(yùn)行截圖:
區(qū)分x和n的類型,以及對結(jié)果的要求,可以有如下兩種方式。
1 使用pow函數(shù)。
在C語言的標(biāo)準(zhǔn)頭文件math.h中,有庫函數(shù)pow,聲明為
double pow(double x, double n);
其功能為計(jì)算x的n次方并返回結(jié)果。
所以可以用pow計(jì)算x的n次方。
該函數(shù)適用于以下幾種情況:
a. 當(dāng)n為浮點(diǎn)數(shù)類型時(shí),必須使用pow。
b. 當(dāng)x為浮點(diǎn)數(shù)或?qū)Y(jié)果值精度要求不高時(shí),可以使用pow。
2 當(dāng)x和n均為整型,且對結(jié)果要求絕對準(zhǔn)確值,而不能是近似值時(shí),可以自行編寫整型乘方函數(shù)。
如
int?pow_int(int?x,?int?y)
{
int?r?=?1;
while(y--)?r*=x;
return?r;
}
其原理為,將x自乘y次,并將結(jié)果累計(jì)到r上,最終返回。
需要注意的是,使用該種方法時(shí)雖然可以得到準(zhǔn)確值,但由于int可以表示的范圍比double小很多,所以出現(xiàn)溢出的概率要比pow函數(shù)更大。
#include?stdio.h
float?xn(int?x,int?n)
{
int?i;
float?s=1;
for(i=1;i=n;i++)
{
s=s*x;
}
return?s;
}
int?main()
{
int?x,n;
float?result;
printf("please?input?x:");
scanf("%d",x);
printf("please?input?n:");
scanf("%d",n);
result=xn(x,n);
printf("x^n=%.0f\n",result);
return?0;
}