如何摆脱角色以获得所需的输出

时间:2016-03-11 00:33:58

标签: c output

这里有很多关于打印三角形的问题,但是这个有点不同所以我希望你不介意看另一个。

我正在尝试生成以下输出:

+
|\
| \
|  \
+---+

我编写了以下代码,但我得到的输出是:

+
|
|\
| \
|  \
+---+

如何摆脱第二行的|字符以获得所需的输出?

#include <stdio.h>

int main() {
    int i, j, k, r;
    printf("Enter number of rows: \n");
    scanf("%d", &r);

    printf("+\n");
    for (i = 1; i < r - 1; i++) {
        for (j = 0; j < i; j++) {
            if (j == 0) {
                printf("|");
            } else if (j > 0 && j < i - 1) {
                printf(" ");
            } else if (j == i - 1) {
                printf("\\");
            } else {
                continue;
            }
        }
        printf("\n");
    }
    printf("+");
    for (k = 0; k < r - 3; k++) {
        printf("-");
    }
    printf("+\n");
    return 0;
}

2 个答案:

答案 0 :(得分:4)

从2开始循环,这意味着该行中将打印2个字符。

更改

for (i=1;i<r-1;i++) {

for (i=2;i<r-1;i++) {

这将为r=6生成所需的输出。

答案 1 :(得分:1)

打印整个三角形的方法要简单得多。我将其分解为更小的功能,以便更清楚地了解正在发生的事情。

querySelector()

现在,如果这里有一个错误,那么就更容易理解每​​个部分发生了什么,找出错误并修复它。