这里有很多关于打印三角形的问题,但这个有点不同,所以我希望你不介意再看一个。
我正在尝试生成以下输出:
+
|\
| \
| \
+---+
我写了下面的代码,但我得到的输出是:
+
|
|\
| \
| \
+---+
如何去除第二行的 |
字符以获得所需的输出?
#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/