题目描述:
输入n,输出正倒n层星号三角形。首行顶格,星号间有一空格,效果见样例
输入:
输入为n(1 ≤ \le ≤ n ≤ \le ≤ 50)
输出:
输出为正倒n层星号三角形
样例输入:
3
样例输出:
* * *
* *
*
* *
* * *
实现代码:
#include<cstdio>
int main() {
int n;
while(scanf("%d", &n) != EOF) {
int length = 2 * n - 1;
for(int i = 0; i < n; i++) {
for(int j = 0; j < i; j++) {
printf(" ");
}
for(int j = 0; j < n - i; j++) {
printf("*");
if(j < n - i - 1) {
printf(" ");
}
}
for(int j = 0; j < i; j++) {
printf(" ");
}
printf("\n");
}
for(int i = 1; i < n; i++) {
for(int j = 0; j < (length - (2 * i + 1)) / 2; j++) {
printf(" ");
}
for(int j = 0; j < i + 1; j++) {
printf("*");
if(j < i) {
printf(" ");
}
}
for(int j = 0; j < (length - (2 * i + 1)) / 2; j++) {
printf(" ");
}
printf("\n");
}
}
return 0;
}