当前位置: 首页 > news >正文

递归的作业练习

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;
}

// 非函数型 用递归写

http://www.cnnetsun.cn/news/28010.html

相关文章:

  • WebRTC 是什么?能做什么?(概览篇)
  • Dubbo学习(三):深入 Remoting
  • AI设计新突破:QWEN溶图LoRA模型助力品牌视觉创作升级
  • 突破实时视频生成瓶颈:Krea Realtime 14B模型革新文本到视频技术
  • 【项目实战】Vercel 是一个让你的网站“瞬间上线”的云平台。Vercel 现在确实是技术圈的“当红炸子鸡”,尤其是在个人博客和前端开发领域。
  • Day28~实现strlen、strcpy、strncpy、strcat、strncat
  • 空洞骑士模组管理大师课:5个关键技巧让Scarab成为你的游戏管家
  • 实用方法:轻松实现NCM文件格式转换的完整解析
  • C++课后习题训练记录Day49
  • LeetCode 189. 旋转数组 | 三步反转最优解全拆解
  • downkyi视频下载:告别卡顿与画质损失的终极解决方案
  • 教你如何玩转DPDK开发中的KNI与内核交互,让网络速度翻倍!
  • Openresty驱动下的高性能Web网关实战
  • 百度网盘下载工具终极指南:快速突破限速的完整教程
  • C语言实现hashmap(附带源码)
  • jsonnet介绍和使用
  • 喜马拉雅音频数据采集:API接口分析与加密音频链接解密实战
  • 角色影像生成新纪元:Pony V7-Base引领AI创作革命
  • 论文格式修改排名:9大平台+在线一键优化
  • 论文写作效率低?十大AI生成平台,AIGC降重+赶due不熬夜
  • 文献引用规范考核要点解析与实践指南
  • 文献综述写作期末指南:方法、结构与常见问题解析
  • 期末文献研究论文的撰写方法与实践路径探讨
  • 基于 HID 协议的扩展功能指令定义方案
  • 模拟IC设计:集成电路与运算放大器大观
  • 6、Oracle数据库管理:文件与目录操作全解析
  • 12、Oracle数据库Linux服务器软件管理全攻略
  • 某聘新版AST解混淆(青春版)
  • 基于Spring Boot框架和vue的的诗词鉴赏与交流网站的设计与实现_96fdvu1s
  • 基于模型预测算法的混合储能微电网双层能量管理系统研究(Matlab代码实现)