用c++的string写代码打印以下图案: * * * * * * * * * * * * * * * * * * * * * * * * *
时间: 2024-05-12 15:12:20 浏览: 90
以下是使用C++的string输出图案的代码,题目要求中的空格是由字符串的构造函数和append方法产生的:
```cpp
#include <iostream>
#include <string>
int main()
{
std::string space = " ";
std::string star = "* ";
for (int i = 0; i < 5; i++)
{
std::string output = space;
output.append(i * 2, space);
output.append(5 - i, star);
std::cout << output << std::endl;
}
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);
cpp/*输出7行的菱形图案 * *** ***** ******* ***** *** *
在C++中,我们可以使用嵌套循环和字符串拼接来创建一个输出7行的菱形图案。以下是一个简单的示例:
```cpp
#include <iostream>
#include <string>
// 函数定义用来打印菱形的上半部分
void printUpperDiamond(int n, char c) {
for (int i = 0; i <= n; ++i) {
std::string spaces = std::string(n - i, ' ');
std::string stars = std::string(2 * i + 1, c);
std::cout << spaces << stars << std::endl;
}
}
// 函数定义用来打印菱形的下半部分
void printLowerDiamond(int n, char c) {
for (int i = n; i >= 0; --i) {
std::string spaces = std::string(n - i, ' ');
std::string stars = std::string(2 * i + 1, c);
std::cout << spaces << stars << std::endl;
}
}
int main() {
int n = 7;
char c = '*';
printUpperDiamond(n, c);
printLowerDiamond(n, c);
return 0;
}
```
运行上述代码,将输出一个7行的菱形图案,其中每个星号(*)代表一个字符。
阅读全文