用c++用string打印以下图案: * * * * * * * * * * * * * * * * * * * * * * * * *
时间: 2024-05-15 22:11:11 浏览: 83
以下是用C++中的string打印该图案的代码:
```
#include <iostream>
#include <string>
using namespace std;
int main() {
int n = 5; // 控制行数
int m = 0; // 控制空格数
for (int i = 0; i < n; i++) {
string line = ""; // 每行输出的字符串
for (int j = 0; j < m; j++) {
line += " ";
}
for (int k = 0; k < n; k++) {
line += "* ";
}
cout << line << endl;
m++; // 空格数加1
}
return 0;
}
```
相关问题
C++描述:键盘输入自然数N,打印出如右图规律的图形。如:N=3时的图形为: * *** ***** *** * 输入:只有一个整数N,为菱形的行数 (其中3≤N≤9)。 输出:输出的图形。
在C++中,你可以使用嵌套循环以及字符串拼接的方式来实现这个任务。这里是一个简单的示例代码,它会按照给定的自然数N生成菱形图案:
```cpp
#include <iostream>
#include <string>
void printDiamond(int n) {
// 上半部分
for (int i = 0; i <= n; ++i) {
// 左侧星号
std::string stars = "*";
// 右侧空格填充
int spaces = n - i;
if (spaces > 0) {
std::string spacesStr(spaces, ' ');
}
// 拼接并输出
std::cout << spacesStr + stars + "\n";
// 如果不是第一行或最后一行,增加星号
if (i != 0 && i != n) {
stars += "*";
}
}
// 下半部分
for (int i = n - 1; i >= 0; --i) {
// 类似于上半部分,只是减少星号的数量
stars = i == 0 ? "*" : stars.substr(0, stars.size() - 2);
spaces = n - i - 1;
std::cout << spacesStr + stars + "\n";
}
}
int main() {
int N;
std::cin >> N;
printDiamond(N);
编程实现以下图案:用*排列 每行5行 5列组成一个平行四边形 (1) 用字符数组方法。(2) 用string方法。用C++语言写
当然可以,以下是使用C++分别通过字符数组和字符串来实现每行5个星号(*)组成的平行四边形的示例:
(1) 使用字符数组方法:
```cpp
#include <iostream>
using namespace std;
int main() {
const int ROWS = 5;
char pattern[ROWS][ROWS + 2]; // 行数+两边的空白字符
// 初始化数组,创建平行四边形
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j <= i + 1; ++j) {
pattern[i][j] = '*'; // 第一行到第四行填满*
}
pattern[i][i + 2] = ' '; // 中间空一格
}
// 打印平行四边形
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j <= ROWS; ++j) {
cout << pattern[i][j];
}
cout << endl;
}
return 0;
}
```
(2) 使用字符串方法:
```cpp
#include <iostream>
#include <string>
int main() {
const int ROWS = 5;
string row;
// 构建每一行作为字符串
for (int i = 0; i <= ROWS - 1; ++i) {
if (i == 0 || i == ROWS - 1) { // 对角线位置全用*
row = "*";
} else { // 其他位置间隔一个空格
row = "* " + "*";
}
row += "\n"; // 结束当前行并添加换行符
}
// 输出字符串
cout << row;
return 0;
}
```
阅读全文