21xrx.com
2025-03-27 16:11:52 Thursday
文章检索 我的文章 写文章
C++程序:输出三角形数字阵列
2023-06-27 00:51:45 深夜i     --     --
C++ 三角形 数字阵列 输出 程序

本文将介绍如何使用C++编写一个程序来输出三角形数字阵列。这个程序可以接收用户输入的数字大小,然后自动输出相应大小的三角形数字阵列。

首先,让我们来看一下需要的输入和输出。用户需要输入一个数字N,表示三角形数字阵列的大小。然后,程序将输出一个由数字1到N*N的数字组成的三角形数字阵列。

接下来,我们开始编写程序。程序的主要思路是使用两个for循环,一个用于控制行数,一个用于控制列数。我们要先定义一个整型变量来存储用户输入的大小N,如下所示:

int n;
cout << "请输入三角形大小(1~9):";
cin >> n;

接下来,我们需要打印出三角形数字阵列。我们可以使用一个双重循环来实现这个功能。首先,外层循环控制行数,内层循环控制列数。在内层循环中,我们需要使用一个变量num来记录当前要输出的数字。在每次循环结束后,我们要递增num的值,以便输出下一个数字。同时,我们需要使用if语句来判断当前位置是否需要输出数字,如果需要,则输出num,否则输出一个空格。代码如下所示:

for (int i = 1; i <= n; ++i) {
  for (int j = 1; j <= n - i; ++j)
    cout << " ";
  
  int num = 1;
  for (int j = 1; j <= 2 * i - 1; ++j) {
    if (j <= i) {
      cout << num;
      ++num;
    }
    else
      --num;
      cout << num;
    
  }
  cout << endl;
}

上述代码中,表明外层循环控制行数,内层循环用于输出每行的数字阵列。其中,第一个for循环的作用是输出每行的空格,第二个for循环则用于输出数字。在第二个for循环中,我们使用if语句来判断当前位置是否需要输出数字,以及如何输出数字。

最后,我们要注意一点,就是当用户输入的N大于9或小于1时,需要提示用户重新输入。

完整的程序代码如下所示:

#include <iostream>
using namespace std;
int main() {
  int n;
  do
    cout << "请输入三角形大小(1~9):";
    cin >> n;
   while (n < 1 || n > 9);
  for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= n - i; ++j)
      cout << " ";
    
    int num = 1;
    for (int j = 1; j <= 2 * i - 1; ++j) {
      if (j <= i) {
        cout << num;
        ++num;
      }
      else
        --num;
        cout << num;
      
    }
    cout << endl;
  }
  return 0;
}

如果您使用以上代码,可以得到一个简单易用的C++程序,用于输出任意大小的三角形数字阵列。

  
  

评论区