news 2026/5/4 22:55:43

递归的作业练习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
递归的作业练习

1. 实现n的k次方(递归)
// Pow(n,k)(n的k次方)
// k>0,n*Pow(n,k-1)
// k=0,1
// k<0,1.0/Pow(n,-k)

double Pow(int n, int k)
{
if (k > 0)
return n * Pow(n, k - 1);
else if (k == 0)
return 1;
else
return 1.0 / Pow(n, -k);
}

int main()
{
int n = 0;
int k = 0;
scanf("%d%d", &n, &k);
double ret = Pow(n, k);
printf("%lf\n", ret);
return 0;
}
2. 字符串逆序(递归实现)
void reverse(char* str)
{
char tmp = *str; //1
int len = strlen(str);
*str = *(str + len - 1); //2
*(str + len - 1) = '\0'; //3
if (strlen(str + 1) >= 2)
reverse(str + 1); //4
*(str + len - 1) = tmp;
}

int main()
{
char arr[] = "abcdefg"; //[a b c d e f g \0]
reverse(arr);
printf("%s\n", arr);
return 0;
}
3. 数字各位求和(递归)
int DigitSum(unsigned int n)
{
if (n > 9)
return DigitSum(n / 10) + n % 10;
else
return n;
}

int main()
{
unsigned int n = 0;
scanf("%u", &n);
int sum = DigitSum(n);
printf("%d\n", sum);
return 0;
}
4. 递归函数Fun
#include <stdio.h>
int Fun(int n)
{
if (n == 5)
return 2;
else
return 2 * Fun(n + 1);
}

int main()
{
int ret = Fun(2);
// 2*Fun(3)=8 → 2*Fun(4)=4 → 2*Fun(5)=2 → 最终16
printf("%d\n", ret);
return 0;
}
5. 字符串逆序(非递归)
// 字符串逆序(非递归)
int main()
{
char arr[] = "abcdefg"; //[a b c d e f g \0]
int sz = sizeof(arr) / sizeof(arr[0]);
int left = 0;
int right = sz - 2;
while (left < right)
{
char tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
left++;
right--;
}
printf("%s\n", arr);
return 0;
}

// 非函数型 用递归写

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 20:56:20

Windows右键菜单优化:从卡顿到流畅的完整指南

Windows右键菜单优化&#xff1a;从卡顿到流畅的完整指南 【免费下载链接】ContextMenuManager &#x1f5b1;️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager "又卡住了&#xff1f;" 我们都有过这样的经…

作者头像 李华
网站建设 2026/5/3 3:04:28

ViGEmBus虚拟游戏控制器驱动:从入门到精通的完整指南 [特殊字符]

还在为游戏手柄兼容性问题而烦恼吗&#xff1f;想要让任天堂Switch Pro手柄、PS4手柄在PC上畅玩所有游戏&#xff1f;ViGEmBus就是你的完美解决方案&#xff01;这款强大的虚拟游戏控制器驱动能够将各种非标准设备完美模拟成Xbox 360或DualShock 4控制器&#xff0c;让你的游戏…

作者头像 李华
网站建设 2026/4/25 0:51:40

【智能制造典型场景参考指引(2025 年版)解读】 -产品研发环节

智能制造作为制造业转型升级的核心驱动力&#xff0c;通过深度融合新一代信息技术与先进制造技术&#xff0c;推动生产模式向数字化、网络化、智能化方向演进。智能制造典型场景参考指引&#xff08;2025 年版&#xff09;旨在为制造业企业提供可落地的典型场景参考&#xff0c…

作者头像 李华
网站建设 2026/4/23 9:55:19

LeetCode 面试经典150题之合并两个有序数组

LeetCode 面试经典150题之合并两个有序数组 一、题目 1.题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非…

作者头像 李华