1

好的,所以我正在尝试编写一个代码,它将读取一个正奇数整数并输出一个以该数字开头并下降到 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);
}
4

1 回答 1

5

像这样对屏幕上的字符位置进行编号:

+----+----+----+----+----+----+----+
| 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、要打印的值和初始数字之间的关系。

于 2013-10-09T12:15:28.290 回答