题目1:设计一个函数用来计算B的n次方
代码如下:
#include
int main()
{
int B, n;
printf("请输入底数B和指数n: ");
scanf("%d %d", &B, &n);
int power();
if (n < 0) {
printf("输入的数字不合规定!\n");
} else {
printf("B的n次方是:%d\n", power(B,n));
}
}
int power(int B, int n)
{
if (n == 0) {
return 1;
} else {
return B * power(B,n - 1);
}
}
运行结果:
下面在程序里面加一个goto循环,是的能重复计算。
#include
int main()
{
int B, n;
loop:
printf("请输入底数B和指数n: ");
scanf("%d %d", &B, &n);
int power();
if (n < 0) {
printf("输入的数字不合规定!\n");
} else {
printf("B的n次方是:%d\n", power(B,n));
goto loop;
}
}
int power(int B, int n)
{
if (n == 0) {
return 1;
} else {
return B * power(B,n - 1);
}
}
运行结果:
由上图“运行结果2”可以看出,当第一次输入底数和指数运行结束后,会继续让你输入,与没有添加goto循环之前对比,是有一定区别的。