晶晶同学非常喜欢方形,她希望打印出来的字符串也是方形的。老师给了晶晶同学一个字符串"ACM",晶晶同学突发奇想,如果任意给定义一个整数n,能不能打印出由这个字符串组成的正方形字符串呢?要求是每行要使用n个给定的字符串。 请你编程实现一下。(用c++代码实现)
时间: 2024-04-15 11:31:24 浏览: 85
好的,下面是使用C++实现的代码来实现这个需求:
```cpp
#include <iostream>
#include <string>
void printSquareString(const std::string& str, int n) {
int length = str.length();
int rows = (length + n - 1) / n;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < n; j++) {
int index = i * n + j;
if (index >= length) {
break;
}
std::cout << str[index] << " ";
}
std::cout << std::endl;
}
}
int main() {
std::string str = "ACM";
int n = 3;
printSquareString(str, n);
return 0;
}
```
这段代码中,`printSquareString` 函数接受两个参数:`str` 是要打印的字符串,`n` 是每行要使用的字符串个数。首先,我们计算出需要打印的行数 `rows`。然后,使用两个嵌套循环遍历每一行,取出对应的字符并打印出来。
在示例中,输入的字符串是 "ACM",每行使用 3 个字符串进行打印。输出结果为:
```
A C M
```
你可以根据需要修改参数进行测试。希望这可以帮助到你!如果有任何问题,请随时提问。
阅读全文