C语言 求一个数幂的函数
时间: 2024-09-24 19:19:01 浏览: 55
在C语言中,没有内置的函数可以直接计算两个整数之间的幂运算。但你可以通过循环或者递归的方式自己实现一个求幂的函数。这里是一个简单的递归版本的例子:
```c
#include <stdio.h>
// 自定义函数,计算a的b次方
long long power(int base, int exponent) {
if (exponent == 0)
return 1; // 任何非零数的0次幂都是1
else if (exponent % 2 == 0) { // 如果指数是偶数
long long temp = power(base, exponent / 2); // 计算半幂
return temp * temp; // 平方
}
else { // 如果指数是奇数
long long temp = power(base, exponent / 2); // 计算半幂
return base * temp * temp; // 加上一次底数
}
}
int main() {
int base, exponent;
printf("请输入底数和指数:");
scanf("%d %d", &base, &exponent);
printf("%d 的 %d 次方等于 %lld\n", base, exponent, power(base, exponent));
return 0;
}
```
在这个`power`函数里,我们首先检查指数是否为0,如果是则返回1。然后,我们处理偶数指数的情况,将问题简化为求半幂的平方。对于奇数指数,我们将问题分解为先求半幂,然后再乘以一次底数。
阅读全文