c++打印以图案: * * * * * * * * * * * * * * * * * * * * * * * * * (1)用字符数组方法;(2)用string方法。
时间: 2024-05-12 14:11:23 浏览: 162
好的,以下是用字符数组方法和string方法打印出给定图案的C++代码:
**字符数组方法**
```c++
#include <iostream>
using namespace std;
int main() {
char arr = {
{'*', '*', '*', '*', '*'},
{' ', '*', '*', '*', '*'},
{' ', ' ', '*', '*', '*'},
{' ', ' ', ' ', '*', '*'},
{'*', '*', '*', '*', '*'}
};
// 打印图案
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
cout << arr[i][j];
}
cout << endl;
}
return 0;
}
```
**string方法**
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = ""; // 创建一个空字符串来存储图案
for (int i = 0; i < 5; i++) { // 遍历每一行
for (int j = 0; j < 5; j++) { // 遍历每一列
if (i == 0 || i == 4 || j == 0 || j == 4) { // 如果当前位置是图案的一部分,则添加*号
str += "*";
} else { // 如果不是,则添加空格
str += " ";
}
}
cout << str << endl; // 打印当前行,以便于下一行的迭代
str.clear(); // 重置字符串为空字符串,以便于下一行的迭代
}
return 0;
}
```
这两种方法都可以打印出你给出的图案。字符数组方法是通过定义一个二维字符数组来存储图案,然后逐行逐列地打印出来。而string方法则是通过创建一个空字符串来存储图案,然后根据给定的规则逐行添加*号来生成图案。
阅读全文