题解 | #圣诞树#
圣诞树
https://www.nowcoder.com/practice/9a03096ed8ab449e9b10b0466de29eb2
#include <stdio.h> //考虑圣诞树中出现元素的种类 // *_____ 小树第一层 * + 五个空格 // *_*___ 小树第二层 * + 空格 + * + 两个空格 // *_*_*_ 小数第三层 * + 空格 + * + 空格 + * + 空格 // ________* 大树树干 3n-1个空格 + * int main() { int n; while (scanf("%d", &n) != EOF) { for (int i = 0; i < 3 * n; ++i) { // 输出空格部分 for (int j = 0; j < 3 * n - i - 1; ++j) { printf(" "); } // 输出小树第一层 if ( i % 3 == 0 ) { for (int k = 0; k <= i / 3; ++k) printf("* "); } // 输出小树第二层 else if ( (i - 1) % 3 == 0 ) { for (int k = 0; k <= (i - 1) / 3; ++k) printf("* * "); } //输出小树第三层 else if ( (i - 2) % 3 == 0) { for (int k = 0; k <= (i - 2) / 3; ++k) printf("* * * "); } printf("\n"); } // 输出树干部分 for (int i = 0; i < n; ++i) { for (int j = 0; j < 3 * n - 1; ++j) { printf(" "); } printf("*\n"); } } return 0; }