C++ 反数金字塔

C++ Inverse number pyramid

本文关键字:金字塔 C++      更新时间:2023-10-16

好的,所以我正在尝试制作一个代码,该代码将以正奇数读取并输出一个从该数字开始的逆金字塔,然后下降到1并切断下一行中的第一个和最后一个数字,依此类推。因此,如果我输入 7,它将显示:

7654321
 65432
  543
   4

第 i 行包含 n-(2i-2),但我不确定如何使用它。

感谢您的帮助。

这是我到目前为止所拥有的:

#include <iostream>
using namespace std;
int main()
{
    int n,i,j;
    cout << "Enter a positive odd number: " << endl;
    cin >> n ;
    i=n;
    while(n%2 ==0)
    {
        cout<< "Invalid number." << endl;
        cout<< "Enter a positive odd number: " << endl;
        cin >> n ;
    }
    for(i=n; i<=n && i>0 ; i--)
    {
        for(j=i; j<=i; j--)
        {
            cout<< i%10 ;
        }
        cout<<endl;
    }
    return(0);
}

像这样对屏幕上的角色位置进行编号:

+----+----+----+----+----+----+----+
| 0 0| 0 1| 0 2| 0 3| 0 4| 0 5| 0 6|
+----+----+----+----+----+----+----+
| 1 0| 1 1| 1 2| 1 3| 1 4| 1 5| 1 6|
+----+----+----+----+----+----+----+
| 2 0| 2 1| 2 2| 2 3| 2 4| 2 5| 2 6|
+----+----+----+----+----+----+----+
| 3 0| 3 1| 3 2| 3 3| 3 4| 3 5| 3 6|
+----+----+----+----+----+----+----+

并检查里面有什么

+----+----+----+----+----+----+----+
|  7 |  6 |  5 |  4 |  3 |  2 |  1 |
+----+----+----+----+----+----+----+
|    |  6 |  5 |  4 |  3 |  2 |    |
+----+----+----+----+----+----+----+
|    |    |  5 |  4 |  3 |    |    |
+----+----+----+----+----+----+----+
|    |    |    |  4 |    |    |    |
+----+----+----+----+----+----+----+

现在找到 x、y、要打印的值和初始数字之间的关系。