C++程序 打印交叉或X形图案

C++程序 打印交叉或X形图案

给定一个数字 n ,我们需要打印大小为 n 的 _X _ 形图案。

输入:n = 3
输出:

  输入:n = 5
输出:      
  


输入:n = 4
输出:

  

C++程序 打印交叉或X形图案

我们需要打印 n 行和 n 列。因此,我们运行两个嵌套循环。外部循环逐行打印所有行(运行 i = 1 到 n)。内部循环(运行 j = 1 到 n)运行当前行的所有列。现在一行可以包含空格和“”。我们如何决定在哪里放置空格和“”。当 i = 1 时:第一列和最后一列应该包含“”;当 i = 2 时:第二列和倒数第二列应该包含“”;一般来说,第 i 列和第(n + 1 – i) 列应该包含“$”。

// C++制作X形图案的程序 #include <iostream>
using namespace std;
  
void printPattern(int& n)
{
    // 逐行打印所有行
    for (int i = 1; i <= n; i++) {
  
        // 打印当前行的字符
        for (int j = 1; j <= n; j++) {
            // 当 i = 1 时,我们只在第一列和最后一列中打印“”;
            // 当 i = 2 时,我们只在第二列和倒数第二列中打印“”;
            // 一般来说,我们只在第 i 和第(n + 1  - i) 列中打印“”。
  
            if (j == i || j == (n + 1 - i))
                cout << "$";
            else
                cout << " ";
        }
  
        // 在打印下一行之前先打印一个换行符。
        cout << endl;
    }
}
  
// Driver Code
int main()
{
    // n 表示我们要制作 X 形图案的行数
    int n = 6;
  
    // 函数调用
    printPattern(n);
    return 0;
}  

输出

$    $
 $  $ 
    
  

时间复杂度: O(n 2 ),其中 n 表示给定的输入。

辅助空间: O(1),不需要额外的空间,因此是一个常量。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 示例