这里有很多关于打印三角形的问题,但是这个有点不同所以我希望你不介意看另一个。
我正在尝试生成以下输出:
+
|\
| \
| \
+---+
我编写了以下代码,但我得到的输出是:
+
|
|\
| \
| \
+---+
如何摆脱第二行的|
字符以获得所需的输出?
#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;
}
答案 0 :(得分:4)
从2开始循环,这意味着该行中将打印2个字符。
更改
for (i=1;i<r-1;i++) {
到
for (i=2;i<r-1;i++) {
这将为r=6
生成所需的输出。
答案 1 :(得分:1)
打印整个三角形的方法要简单得多。我将其分解为更小的功能,以便更清楚地了解正在发生的事情。
querySelector()
现在,如果这里有一个错误,那么就更容易理解每个部分发生了什么,找出错误并修复它。