1.编写一个函数实现n^k,使用递归实现
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int cifang(int x, int n)
{
int i = 0;
for (i = 1; i <= n;i++)
{
return x*cifang(x,n-1);
}
return 1;
}
int main()
{
int a, b;
scanf("%d%d",&a,&b);
int c = cifang(a, b);
printf("%d ",c);
system("pause");
return 0;
}
2.递归和非递归分别实现求n的阶乘
递归:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
jiecheng(int n)
{
if (n <= 2)
{
return n;
}
else
return n*jiecheng(n - 1);
}
int main()
{
int a=0;
scanf("%d", &a);
int c = jiecheng(a);
printf("%d ", c);
system("pause");
return 0;
}
非递归
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 0;
int i = 0;
int sum = 1;
scanf("%d", &a);
for (i = 1; i <= a; i++)
{
sum *= i;
}
printf("%d ", sum);
system("pause");
return 0;
}