#includestdio.h
漳平ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
int
power(int
x,int
n)
{
if(n
==
0)
//任何數(shù)的0次方都是1
return
0;
else
if(n
==1)
//如果是1次方
則返回本來的值
return
x;
else
//否則遞歸循環(huán)
return
x*power(x,n-1);
}
main()
{
printf("%d
",power(3,3));
printf("%d
",power(4,2));
getchar();
return
0;
}
#includestdio.h
int?power(int?x,int?n)
{
if(n==0)
return?1;
elseif(n%2==1)
return?x*power(x,n-1);
else{
int?y=power(x,n/2);
return?y*y;
}
}
int?main()
{
int?a,b,c;
printf("enter x and n:");
setvbuf(stdout,NULL,_IONBF,0);
scanf("%d%d",a,b);
c=power(a,b);
printf("結(jié)果為%d",c);
return?0;
}
擴(kuò)展資料
#includestdio.h
double power(double x,int n);
main()
{
double x;
int n;
printf("Input x,n:");
scanf("%lf,%d",x,n);
printf("%.2lf",power(x,n));
}
double power(double x,int n)
{
double a=1.0;
int i;
for(i=1;i=n;i++)
a*=x;
return a;
}
參考資料:百度百科 - 遞歸調(diào)用
設(shè)置四個(gè)變量左邊界l,右邊界r,上邊界u,下邊界d。每調(diào)用一次遞歸在二維數(shù)組中存一層數(shù)據(jù),然后把l加1,r減1,u加1,d減1。lr為遞歸出口。代碼如下:
#include stdio.h
int b[100][100];
void fz(int l,int r,int u,int d,int v,int n)
{
int x,y,i,j,k,m;
if(lr)
for (x=0;xn;x++)
{
for (y=0;yn;y++)
printf("%4d",b[x][y]);
printf("\n");
}
while(l=r)
{
for (i=l;i=r;i++) b[u][i]=v++;
for (k=u+1;kd;k++) b[k][r]=v++;
for (j=r;jl;j--) b[d][j]=v++;
for (m=d;mu;m--) b[m][l]=v++;
return fz(l+1,r-1,u+1,d-1,v,n);
}
}
int main()
{
int n;
scanf("%d",n);
fz(0,n-1,0,n-1,1,n);
return 0;
}
/*x^n的值必須小于32767,否則輸出的就是負(fù)數(shù)。因?yàn)?,int只有這么大,正常的pow函數(shù)應(yīng)該是float型或是double型,參數(shù)也應(yīng)是float或是double型。*/
#include?stdio.h
int?power(int?x,int?n)
{
if?(n1)
{
? ?return?x*power(x,n-1);
}
else
{
? ?if?(n0)
? ? ? ?return?x;
? ?else
? ? ? ? return?1;
}
}
void?main()
{
int?x,n;
printf("input?x,n:");
scanf("%d%d",x,n);
printf("%d",power(x,n));
getch();
clrscr();
}