循环让解变通用点,输出最后一行出现问题
查看原帖
循环让解变通用点,输出最后一行出现问题
333114
qingyumoan楼主2023/10/20 22:44

输入两条对角线c,d,画出菱形 题目是各为5,但是最后一行会出问题。

#include<iostream>
using namespace std;
int main()
{
    int c, d, i, j, n;
    c = n = j = 0;
    d = 5;
    cin >> c;
    cin >> d;
    c = c / 2;
    while (j < d)
    {
        for (i = 0; i <= 2 * c; i++)
        {
            if (i >= c - n && i <= c + n)
            {
                cout << "*";
            }
            else
            {
                cout << " ";
            }
        }
        n++;
        j++;
        cout << " " << endl;
        if (j > d / 2) 
        {
            n = c;
            for (i = 0; i <= 2 * c; i++)
            {
                if (i > c - n && i <  c+ n)
                {
                    cout << "*";
                }
                else
                {
                    cout << " ";
                }
            }
            n--;
            j++;
            cout << " " << endl;
        }
    }
    return 0;
}

初学者,用的方法有点低级,

2023/10/20 22:44
加载中...