C语言输入任意实数X和正整数n,计算X的n次幂,结果保留3位小数 C语言
时间: 2024-10-20 14:11:56 浏览: 42
c语言进阶学习,复习资料
在C语言中,你可以使用`double`类型的变量来存储实数,并利用`pow`函数或者迭代的方式来计算n次幂。`pow`函数直接提供指数运算,但是为了保留三位小数,你需要额外对结果进行格式化。以下是两种方法的示例:
**1. 使用`pow`函数(适用于简单场景):**
```c
#include <stdio.h>
#include <math.h>
int main() {
double x, n;
printf("请输入实数X: ");
scanf("%lf", &x);
printf("请输入正整数n: ");
scanf("%d", &n);
double result = pow(x, n);
printf("X的n次幂(保留3位小数): %.3lf\n", result);
return 0;
}
```
**2. 自己实现迭代计算(适用于教学或理解基础算法):**
```c
#include <stdio.h>
#include <stdarg.h>
// 自定义函数用于计算n次幂并保留3位小数
double custom_pow(double x, unsigned int n) {
double res = 1.0;
for (unsigned int i = 0; i < n; ++i) {
res *= x;
}
// 保留3位小数
return round(res * 1000) / 1000.0;
}
int main() {
double x, n;
printf("请输入实数X: ");
scanf("%lf", &x);
printf("请输入正整数n: ");
scanf("%u", &n); // 用无符号整型防止溢出
double result = custom_pow(x, n);
printf("X的n次幂(保留3位小数): %.3lf\n", result);
return 0;
}
```
阅读全文