C语言 幂函数的编写

#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
#include <stdbool.h>

int32_t calculated_power(int32_t base_num, int32_t exponent_num);

int main() {
	// 编写一个底数不限制正负,而指数为非负数的用于计算幂的功能

	// 输入底数
	puts("请输入底数:");
	int32_t base_num;
	scanf_s("%" PRId32, &base_num);
	printf("base_num = %" PRId32 "\n", base_num);

	// 输入指数
	puts("请输入指数:");
	int32_t exponent_num;

	// 死循环用于判定输入的指数是否为非负数
	while (true) {
		scanf_s("%" PRId32, &exponent_num);

		// 判定指数小于零无效
		if (exponent_num < 0) {
			puts("输入的数有误,请输入一个非负数!");
			puts("请进行下一次指数输入:");
			continue;							// 跳过后面语句进入下一次循环
		}

		// 判定指数大于零
		if (exponent_num >= 0) {
			break;								// 退出死循环
		}
		
	}

	printf("exponent_num = %" PRId32 "\n\n", exponent_num);

	// 输出幂的结果
	printf("(%" PRId32 ") ^ %" PRIu32 " = %" PRId32 "\n", base_num, exponent_num, calculated_power(base_num, exponent_num));

	return 0;
}

int32_t calculated_power(int32_t base_num, int32_t exponent_num) {
	int32_t power_num = base_num;

	// 计算当指数为 0 而底数不为 0时的幂
	if (exponent_num == 0 && base_num != 0) {
		return power_num = 1;
	}

	// 当指数和底数都为 0 时返回幂为 0
	if (exponent_num == 0 && base_num == 0) {
		puts("所输入的数不符合运算规则!");
		return power_num = 0;
	}

	// 计算指数不为 0 时的幂
	if (exponent_num != 0) {
		for (uint32_t i = 1; i < exponent_num; i++) {
			power_num *= base_num;
		}

		return power_num;
	}

	return 0;
}

声明:本文章仅是个人学习C语言的分享,博主是C语言小白

代码使用Visual studio 2022版编写

代码涉及函数、卫语句、死循环、可移植整型的使用

相关知识学习可以参考B站 Micro_Frank 的《C语言大师:编得狂,骂得响》系列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值