Онлайн компилятор C

#include <stdio.h> int main() { // 定义变量:底数a(支持小数)、指数b(非负整数)、结果(初始值1.0,累乘的初始单位) double a; int b; double result = 1.0; int i; // 循环计数器 // 提示用户输入底数和指数 printf("a:"); scanf("%lf", &a); // double类型输入用%lf printf("b:"); scanf("%d", &b); // 合法性校验:排除负指数(循环方案暂不支持,如需支持可后续取倒数) if (b < 0) { printf("错误:该方案仅支持非负整数指数,请重新输入!\n"); return 1; // 异常退出程序 } // 循环累乘计算a^b:执行b次a的相乘操作 for (i = 0; i < b; i++) { result *= a; // 等价于 result = result * a } // 格式化输出结果,保留2位小数显示底数,4位小数显示结果 printf("%.2lf 的 %d 次方 = %.4lf\n", a, b, result); return 0; }
1) 这段代码实现了一个简单的幂运算计算器。它要求用户输入一个底数(可以是小数)和一个非负整数指数,然后通过循环累乘的方式计算底数的指数次方,最后将结果格式化输出。

2) 提示:
- 注意代码中处理负指数的方式:当输入负指数时程序会直接报错退出。如果想支持负指数,可以考虑在计算前对指数取绝对值,计算后再取倒数。
- 循环累乘的初始值设为1.0很重要,因为任何数的0次方都等于1,同时这个初始值也是乘法运算的单位元。