用程序画出三角形图案

创建各类三角形图案

直角三角形(左下角)

#include <iostream>
using namespace std;
 
int main()
{
    int rows;
 
    cout << "输入行数: ";
    cin >> rows;
 
    for(int i = 1; i <= rows; ++i)
    {
        for(int j = 1; j <= i; ++j)
        {
            cout << "* ";
        }
        cout << "\n";
    }
    return 0;
}

运行效果

 

代码描述:外层循环控制行数,从1行到rows行,内层循环打印一个星号和一个空格,用于格式化输出(空格在计算机中本身也代表一个符号,只是输出不可见),我们能看到的只有星号,就形成了视觉上的直角三角形图案。

直角三角形(右下角)

#include <iostream>
using namespace std;

int main()
{
    int rows;

    cout << "输入行数: ";
    cin >> rows;

    for(int i = 1; i <= rows; ++i)
    {
        // 输出前面的空格
        for(int j = 1; j <= rows - i; ++j)
        {
            cout << " ";
        }

        // 输出星号
        for(int j = 1; j <= i; ++j)
        {
            cout << "*";
        }
        cout << "\n";
    }
    return 0;
}

运行效果

 代码描述:双for并列循环,一个用来打印空格,一个用来打印星号,用于格式化输出(空格在计算机中本身也代表一个符号,只是输出不可见),我们能看到的只有星号,就形成了视觉上的直角三角形图案。

直角三角形(左上角)

#include <iostream>
using namespace std;

int main()
{
    int rows;

    cout << "输入行数: ";
    cin >> rows;

    for(int i = rows; i >= 1; --i)
    {
        for(int j = 1; j <= i; ++j)
        {
            cout << "* ";
        }
        cout << endl;
    }

    return 0;
}

运行效果

 代码描述:外层循环控制行数,从1行到rows行(递减),内层循环打印一个星号和一个空格(递增),用于格式化输出(空格在计算机中本身也代表一个符号,只是输出不可见),我们能看到的只有星号,就形成了视觉上的直角三角形图案。

直角三角形(右上角)

#include <iostream>
using namespace std;

int main()
{
    int rows;

    cout << "输入行数: ";
    cin >> rows;

    for(int i = 0; i < rows; ++i)
    {
        // 输出前面的空格
        for(int j = 0; j < i; ++j)
        {
            cout << " ";
        }

        // 输出星号
        for(int j = 0; j < rows - i; ++j)
        {
            cout << "*";
        }
        cout << "\n";
    }
    return 0;
}

运行效果

 代码描述:双for并列循环,一个用来打印空格,一个用来打印星号,用于格式化输出(空格在计算机中本身也代表一个符号,只是输出不可见),我们能看到的只有星号,就形成了视觉上的直角三角形图案。

锐角三角形(正) 

#include <iostream>
using namespace std;

int main()
{
    int space, rows;

    cout <<"输入行数: ";
    cin >> rows;

    for(int i = 1, k = 0; i <= rows; ++i, k = 0)
    {
        for(space = 1; space <= rows-i; ++space)
        {
            cout <<"  ";
        }

        while(k != 2*i-1)
        {
            cout << "* ";
            ++k;
        }
        cout << endl;
    }
    return 0;
}

运行效果

 代码描述:双for嵌套循环,for循环用来控制行数和打印空格,内部while循环用来打印星号,用于格式化输出(空格在计算机中本身也代表一个符号,只是输出不可见),我们能看到的只有星号,就形成了视觉上的直角三角形图案。 

tips:如上输出像钝角吗?

锐角三角形(倒)

#include <iostream>
using namespace std;

int main()
{
    int rows;

    cout << "输入行数: ";
    cin >> rows;

    for(int i = 1; i <= rows; ++i)
    {
        // 输出前面的空格
        for(int j = 1; j <= i - 1; ++j)
        {
            cout << " ";
        }

        // 输出星号
        for(int j = i; j <= rows; ++j)
        {
            cout << " *";
        }
        cout << "\n";
    }
    return 0;
}

运行效果

代码描述:for嵌套双for并列循环,外层for循环用来控制行数,内部双for并列循环第一个用来打印空格,用于格式化输出(空格在计算机中本身也代表一个符号,只是输出不可见),第二个用来打印星号,我们能看到的只有星号,就形成了视觉上的直角三角形图案。  

钝角三角形?

钝角三角形该怎么设计程序呢?视觉看起来要真的像钝角三角形?且要保证行数准确的情况下设计钝角三角形程序?

triangle.cpp

#include <iostream>
#include <iomanip>  // For std::setw

int main() {
    const int height = 10;  // 三角形的高度
    const char ch = '*';    // 三角形的字符

    // 打印钝角三角形的上半部分
    for (int i = 1; i <= height; ++i) {
        std::cout << std::setw(height - i + 1);  // 调整每行的起始位置
        for (int j = 1; j <= i; ++j) {
            std::cout << ch;
        }
        std::cout << std::endl;
    }

    // 打印钝角三角形的下半部分
    for (int i = height - 1; i >= 1; --i) {
        std::cout << std::setw(height - i + 1);  // 调整每行的起始位置
        for (int j = 1; j <= i; ++j) {
            std::cout << ch;
        }
        std::cout << std::endl;
    }

    return 0;
}

运行效果

代码描述:外层for并列循环,第一个for嵌套循环打印钝角三角形的上半部分,第二个for嵌套循环打印钝角三角形的下半部分,使用iomanip的功能函数setw函数调整每一行的起始位置。这种看起来似乎更像钝角了。

相关推荐

  1. 如何CSS3一个三角形

    2024-07-20 23:16:01       29 阅读
  2. python 函数图像

    2024-07-20 23:16:01       40 阅读
  3. Python漂亮的地图

    2024-07-20 23:16:01       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 23:16:01       103 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 23:16:01       114 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 23:16:01       93 阅读
  4. Python语言-面向对象

    2024-07-20 23:16:01       99 阅读

热门阅读

  1. Kotlin协程最佳实践

    2024-07-20 23:16:01       22 阅读
  2. SQL Server的魔法工坊:打造数据库的自定义函数

    2024-07-20 23:16:01       28 阅读
  3. Qt判定鼠标是否在该多边形的线条上

    2024-07-20 23:16:01       25 阅读
  4. 什么是虹膜识别技术

    2024-07-20 23:16:01       24 阅读
  5. C++/Qt 信号与槽

    2024-07-20 23:16:01       28 阅读
  6. CentOS Mysql8 数据库安装

    2024-07-20 23:16:01       27 阅读
  7. ubuntu22.04下YOLOv5 TensorRT模型部署

    2024-07-20 23:16:01       27 阅读
  8. 前端面试题日常练-day98 【Less】

    2024-07-20 23:16:01       28 阅读