这个想法是打印 4 个形状,前两个形状打印得很好,接下来的两个使用 setw 的形状是镜子,但仍然按原样打印。
我的理解是 setw 制作了一种文本框,从参数中指定的文本位置从右到左开始输出,它适用于我尝试过的其他示例。但是由于某种原因,当通过这些 for 循环时,它只会添加设置数量的制表符空格并在 setw 位置的错误一侧打印。
#include <conio.h>
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int x = 1;
for (int i = 0; i < 9; i++)
{
for (int i = 1; i <= x; i++)
cout << "*";
x++;
cout << endl;
}
cout << endl;
x = x - 1;
for (int i = 0; i < 9; i++)
{
for (int i = 1; i <= x; i++)
cout << "*";
x--;
cout << endl;
}
cout << endl;
for (int i = 0; i < 9; i++)
{
cout << setw(10);
for (int i = 1; i <= x; i++)
cout << "*";
x++;
cout << endl;
}
cout << endl;
for (int i = 0; i < 9; i++)
{
cout << setw(10);
for (int i = 1; i <= x; i++)
cout << "*";
x--;
cout << endl;
}
_getch();
}