c++问题,只用回答

c++问题,只用<iostream>回答

问题描述:

用循环结构语句编程并输出下图,其中行数为2n-1,n由键盘输入。输入输出格式参见样张: 请输入n的值(n<10) 1 22 333 4444 55555 4444 333 22 1 请按任意键继续……

用户输入 num
for i from 1 to num
    for
        打印空格
    for
        打印值

注:打印空格数量可以通过当前 i 的值来确定
取 |num - i| 的绝对值
例如:num = 5,i = 2
num - i = 3
例如:num = 5, i = 8
i - num = 3
打印的值也可以通过 i 的值来确定,这个你自己想吧

你是哪里不会呢?或者说你的难点在哪里,这道题应该不难吧。你将每行的输出分为两个 for ,一个 for 打印空格,一个 for 打印具体的值。于打印

补充在一楼,1前面空4个单位,2前面3单位,依次类推。图案呈顶角向左的等腰三角形。

#include <iostream>
#include <string>
#include <sstream>
using namespace std;


int main()
{
    int n = 0;
    cout << "Please input n(n > 0 & n < 10) :" << endl;

    if (cin >> n)
    {
        cout << "-----------------------------------------" << endl;
        
        cout.setf(ios::right);

        int i = 1;
        for (; i < n; ++i)
        {
            ostringstream data;
            for (int j = 0; j != i; ++j)
            {
                data << i;
            }

            cout.width(n);
            cout << data.str() << endl;
        }

        for (; i != 0; --i)
        {
            ostringstream data;
            for (int j = 0; j != i; ++j)
            {
                data << i;
            }

            cout.width(n);
            cout << data.str() << endl;
        }
    }
    else { cout << "Input Error!!" << endl; }

    return 0;
}

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html