c++ - 绘制旋转三角形
问题描述
我试图弄清楚如何更改显示如下的三角形:
x
xxx
xxxxx
一个看起来像这样的:
x
xx
xxx
xx
x
和
x
xx
xxx
xx
x
它应该有一个用户输入,可以像这样改变三角形的大小:
cout << "Please enter a size for the shape: ";
cin >> size;
for (int row = 1; row <= size; ++row)
{
for (int column = 1; column <= row; ++column)
cout << '*';
cout << endl;
}
抱歉任何格式错误,一般来说仍然是编程新手。干杯。
解决方案
试着把这个问题分解成更简单的问题。与其考虑如何打印整个三角形,不如考虑每行具有什么属性和模式。
关于第一个三角
x
xxx
xxxxx
您会注意到它与 y 轴对称。这样您就可以打印以下两份:
x
xx
xxx
它更容易打印。您还注意到每一行i
的组成如下:
size-i
空格后跟i
连续x
,允许您通过打印多个空格首先打印单行,然后是多个空格,x
然后再打印其他空格。
尝试以下方法并针对您提到的其他情况进行调整:
int main()
{
int size = 0;
cout << "Please enter a size for the shape: ";
cin >> size;
cout << endl;
for (int row = 1; row <= size; ++row)
{
//-------first half
//spaces
for (int column = 1; column <= size-row; ++column)
cout<<" ";
//points
for (int column = 1; column <= row ; ++column)
cout << '*';
//-------second half
//points
for (int column = 1; column <= row-1 ; ++column)
cout << '*';
//spaces
for (int column = 1; column <= size-row; ++column)
cout<<" ";
cout << endl;
}
return 0;
}
推荐阅读
- python-3.x - 在python中使用反斜杠(\)时连接字符串时出现EOL错误
- python - 使用命令提示符调用 python scipt 时如何指定可选参数
- ansible - 带有参数的启动脚本的 Ansible 剧本
- javascript - 获取 Azure 服务总线的详细信息
- c# - C# 中的花括号
- firebase - 为 Android NDK 崩溃报告自动上传 Symbol 文件
- mysql - MYSQL:如何根据用户名和时间戳删除 SIMILAR 数据库行
- python-3.x - 为什么我的 python 代码似乎在随机选择单词?
- create-react-app - 为什么在 ZEIT Now 上托管的 Create React App 不显示 404 响应?
- python - 在 Pandas 中检索数据