(C语言)编写一个函数实现n的k次方,使用递归实现(递归)

devtools/2025/3/18 21:20:47/
#include <stdio.h>
int fun(int x,int y){if(y==1){return x;}return fun(x,y-1)*x;
}
int main(){printf("请输入该数:\n");int a=0;if(scanf("%d",&a)!=1){printf("输入不合法\n");return 1;}printf("请输入倍数:\n");int b=0;if(scanf("%d",&b)!=1){printf("输入不合法\n");return 1;}printf("%d的%d次方为%d",a,b,fun(a,b));return 0;
}

今天的代码也很简单:

主要是递归的应用,清楚递归的逻辑,清楚递归是怎么运算的,过程是怎么样的呢?下面来看一看吧

调用顺序(递推阶段)      回溯顺序(回归阶段)
+------------------+    +------------------+
| fun(2, 3)        | →  | 返回 4 * 2 = 8   |
| 计算 fun(2, 2)*2 |    +------------------+
+------------------+         ↑
+------------------+         |
| fun(2, 2)        | →  | 返回 2 * 2 = 4   |
| 计算 fun(2, 1)*2 |    +------------------+
+------------------+         ↑
+------------------+         |
| fun(2, 1)        | →  | 返回 2           |
+------------------+    +------------------+

 上面就是他的过程,看不懂的可以看看我之前的教学:

(C语言)递归函数教学(C语言教学)-CSDN博客

以下是部分运行结果: 

请输入该数:
3
请输入倍数:
3
3的3次方为27
请按任意键继续. . .
请输入该数:
-2
请输入倍数:
3
-2的3次方为-8
请按任意键继续. . .
请输入该数:
0
请输入倍数:
3
0的3次方为0
请按任意键继续. . .

注:该代码是本人自己所写,可能不够好,不够简便,欢迎大家指出我的不足之处。如果遇见看不懂的地方,可以在评论区打出来,进行讨论,或者联系我。上述内容全是我自己理解的,如果你有别的想法,或者认为我的理解不对,欢迎指出!!!如果可以,可以点一个免费的赞支持一下吗?谢谢各位彦祖亦菲!!!!!


http://www.ppmy.cn/devtools/168153.html

相关文章

利用github部署项目

挂载GitHub Pages的方法 基本步骤 创建仓库&#xff1a; 在GitHub上创建一个新的仓库。如果使用自定义域名&#xff0c;则仓库名应为<username>.github.io&#xff1b;否则可以是任意名称。 启用GitHub Pages&#xff1a; 进入仓库的设置页面&#xff0c;在“Pages”部…

Linux find 命令完全指南

find 是 Linux 系统最强大的文件搜索工具&#xff0c;支持 嵌套遍历、条件筛选、执行动作。以下通过场景分类解析核心用法&#xff0c;涵盖高效搜索、文件管理及高级技巧&#xff1a; 一、基础搜索模式 1. 按文件名搜索&#xff08;精确/模糊匹配&#xff09; <BASH> f…

Vue基础部分

继之前的html css js 之后&#xff0c;我们过度到js框架。 vue是一款用于构建用户界面的渐进式js框架 及基于数据渲染出用户看到的界面 框架&#xff0c;就是一套完整的项目解决方案 准备 引入vue模块创建vue应用实例&#xff0c;控制视图元素准备元素div,被vue控制 数据驱…

【零基础入门unity游戏开发——unity3D篇】3D物理系统之 —— 3D碰撞器Collider

考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的…

【大语言模型_5】xinference部署embedding模型和rerank模型

一、安装xinference pip install xinference 二、启动xinference ./xinference-local --host0.0.0.0 --port5544 三、注册本地模型 1、注册embedding模型 curl -X POST "http://localhost:5544/v1/models" \ -H "Content-Type: application/json" \…

C语言之 循环语句:程序运行的核心动力(上)

个人主页&#xff1a;strive-debug 在 C 语言中&#xff0c;分支结构可以通过 if、switch 语句来实现&#xff0c;循环结构则可以通过 for、while、do while 语句来实现。 if 语句 if 语句的语法形式如下&#xff1a; if (表达式)语句; 如果表达式成立&#xff08;为真&am…

MySQL配置文件my.cnf详解

目前使用的服务器系统是CentOS8.5 ,针对MySql8.4的配置示例&#xff0c;自己根据实际情况修改。 安装MySql8.4时&#xff0c;MySql8.4没有默认的my.cnf,需要用户根据需要自行配置my.cnf文件&#xff0c;大概可看到下面这样的参数列表&#xff0c;可能不同版本的mysql参数多少会…

数据结构与算法——算法3 面试常用排序算法

首先了解排序算法性能和优缺点 然后了解快排 和堆排序的方法。 可以参考如下的博客 八大排序(超详解附动图源码)