如何摆脱角色以获得所需的输出
How can I get rid off a character to get the desired 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
生成所需的输出。
有一种更简洁的方法来打印整个三角形。我会将它分解成更小的函数,以便更清楚地说明发生了什么。
#include<stdio.h>
void printTriangleRow(int rowNumber) {
printf("|");
for(int i = 0; i < rowNumber; ++i) {
printf(" ");
}
printf("\\n");
}
void printTriangleBottom(int sideLength) {
printf("+");
for(int i = 0; i < sideLength; ++i) {
printf("-");
}
printf("+\n");
}
void printTriangleWithSideLength(int sideLength) {
printf("+\n");
for(int i = 0; i < sideLength; ++i) {
printTriangleRow(i);
}
printTriangleBottom(sideLength);
}
int main() {
int rowCount;
printf("Enter number of rows: \n");
scanf("%d", &rowCount);
printTriangleWithSideLength(rowCount);
}
现在,如果这里有错误,理解每个部分的情况、识别错误并修复它会容易得多。
这里有很多关于打印三角形的问题,但是这个有点不同,所以我希望你不介意再看一个。
我正在尝试生成以下输出:
+
|\
| \
| \
+---+
我编写了以下代码,但得到的输出是:
+
|
|\
| \
| \
+---+
如何去除第二行的 |
字符以获得所需的输出?
#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
生成所需的输出。
有一种更简洁的方法来打印整个三角形。我会将它分解成更小的函数,以便更清楚地说明发生了什么。
#include<stdio.h>
void printTriangleRow(int rowNumber) {
printf("|");
for(int i = 0; i < rowNumber; ++i) {
printf(" ");
}
printf("\\n");
}
void printTriangleBottom(int sideLength) {
printf("+");
for(int i = 0; i < sideLength; ++i) {
printf("-");
}
printf("+\n");
}
void printTriangleWithSideLength(int sideLength) {
printf("+\n");
for(int i = 0; i < sideLength; ++i) {
printTriangleRow(i);
}
printTriangleBottom(sideLength);
}
int main() {
int rowCount;
printf("Enter number of rows: \n");
scanf("%d", &rowCount);
printTriangleWithSideLength(rowCount);
}
现在,如果这里有错误,理解每个部分的情况、识别错误并修复它会容易得多。