C++大学教程(第九版)7.30 打印array对象 7.31 逆序打印字符串(递归练习题)

本文主要是介绍C++大学教程(第九版)7.30 打印array对象 7.31 逆序打印字符串(递归练习题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 题目
  • 代码
  • 运行截图
  • 题目
  • 代码
  • 运行截图

题目

(打印array对象)编写一个递归函数printArray它以一个array对象一个开始下标和一个结束下标作为实参,不返回任何值并打印这个array对象。当开始下标和结束下标相等时,这个函数应该停止处理并返回。

代码

#include <iostream>
#include <array>using namespace std;const int arraySize = 15;
void printArray(array<int, arraySize>, int, int);int main()
{array<int, arraySize> items = {1, 2, 3, 4, 5, 6, 7, 8, 5, 6};int begin, end;cout << "该array对象的数组长度为" << arraySize << endl;cout << "请输入需要打印的array对象的开始下标和结束下标:";cin >> begin >> end;printArray(items, begin, end);return 0;
}void printArray(array<int, arraySize> arr, int a, int b)
{if (a < 0 || a > arraySize || b < a || b > arraySize){return;}cout << arr[a] << " ";printArray(arr, a + 1, b);
}

运行截图

在这里插入图片描述

题目

(逆序打印字符串)编写一个递归函数stringReverse,该函数以一个string对象和一个开始下标作为实参,逆序打印这个字符串且不返回任何值。当到达这个字符串的末尾时,函数应当停止处理并返回。请注意,像array对象一样,方括号运算符([])可用来迭代遍历一个字符串中的所有字符。

代码

#include <iostream>
#include <string>using namespace std;void stringReverse(string, int);int main()
{string str;cout << "请输入需要逆序的字符串:";getline(cin, str);cout << "该字符串的长度是" << str.size() << endl;int begin;cout << "请输入从哪个下标开始逆序:";cin >> begin;stringReverse(str, begin);return 0;
}void stringReverse(string str, int begin)
{ // 逆序字符串if (begin < 0 || begin >= str.size()){return;}cout << str[begin];stringReverse(str, begin - 1);
}

运行截图

在这里插入图片描述


中间有几道题做了很久,暂时还没做出来,后续学习的更加完善后,会完善这些习题。

这篇关于C++大学教程(第九版)7.30 打印array对象 7.31 逆序打印字符串(递归练习题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/659092

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

C++右移运算符的一个小坑及解决

《C++右移运算符的一个小坑及解决》文章指出右移运算符处理负数时左侧补1导致死循环,与除法行为不同,强调需注意补码机制以正确统计二进制1的个数... 目录我遇到了这么一个www.chinasem.cn函数由此可以看到也很好理解总结我遇到了这么一个函数template<typename T>unsigned

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定