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

标签 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 开始循环,这意味着该行将打印 2 个字符。

改变

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

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

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

关于c - 如何摆脱角色以获得所需的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35930104/

相关文章:

c++ - 获取对 function_name 的 undefined reference

c - 如何在C中打印EIP地址?

在hadoop中对输出文本文件进行排序,有没有办法不排序就可以查看输出?或使用不同的排序方法?

C++输出顺序

c - 为什么我得到 errno EINVAL (innvalid parameters) 但只有当文件为空时

c - 制作我自己的 shell

json - 从 JSON 转换为 XML

C++:队列中的第一个字符错误

php - 如何在从 php 回显页面接收到的 .post() 输出数据中运行 javascript 函数

android - 我可以在 Android 环境中使用 SQLite 内置函数吗?