C++ 程序将字符串划分为 N 个相等的部分

2024年8月28日 | 阅读 4 分钟

在本文中,您将学习如何使用 C++ 将字符串分成 N 等份。C++ 程序使用字符串操作和基本算术将字符串分成 N 等份。

1. 输入

程序开始时需要两个用户输入

  • 用户提供的字符串(input),用户希望将其分成相等的部分。
  • 用户可以通过提供一个整数 (n) 来表示希望将字符串分成多少个相等的部分(N)。

2. 长度计算

使用字符串类的 length() 函数测量长度,程序测量所提供字符串的长度。长度保存在 len 变量中。您必须首先知道字符串的长度才能将其分成相等的部分。

3. 错误检查

字符串的长度必须能被 n 整除才能将其分成相等的部分。程序测试 len% n 是否等于 。如果不是,程序将显示错误通知并指示字符串无法分成相等的部分后退出。

4. 部分大小计算

如果字符串的长度可以被 n 整除,程序会确定每个部分的大小。为此,将字符串的长度乘以 n,这将创建变量 partSize。每个组件都必须是这个大小。

5. 分割循环

n 是用户请求的组件数量,循环迭代 n 次。每次循环执行时

  • 程序使用字符串类的 substr 函数 提取输入字符串的一部分。substr 函数 需要两个输入:起始位置(每次迭代后更新)和子字符串的长度(即 partSize)。
  • 之后,提取的部分将包含在一个名为 “parts” 的向量中,该向量将保存所有部分。

6. 打印

程序成功将字符串分成相等的部分后,将字符串的每个部分打印在新的一行上。之后,它会显示一条消息,指示字符串已分割。

7. 结论

程序最终 返回 0 以表明它已成功运行。

程序

让我们举一个例子来演示如何在 C++ 中将字符串分成 N 个字符串

输出

Enter a string: Ravan was killed by Rama
Enter the number of parts (N): 3
The string is divided into 3 equal parts:
Ravan wa
s killed
 by Rama

说明

  1. divideString 函数
    • 确定输入字符串的长度 (len)。
    • 确保 len% n == 0 以确定是否可以将字符串分成相等的部分。
    • 如果不可行,则返回一个空向量 (parts) 并显示错误消息。
    • 确定每个组件的 partSize
    • 使用循环和 substr 提取字符串的每个组件。
    • 每个部分都添加到 parts 向量中。
    • 返回一个包含分离部分的 parts 向量。
  2. main 函数
    • 使用 std::getline 读取完整的输入行。
    • 从用户那里获取部分的数量 (n)。
    • 使用 divideString 函数将字符串分成几部分。
    • 成功后,将为相等部分的整个数量和每个部分打印不同的行。
  3. 返回 0
    • 返回 0 表示程序已成功运行。