题解 | #圣诞树#
圣诞树
https://www.nowcoder.com/practice/9a03096ed8ab449e9b10b0466de29eb2
#include <stdio.h>
int main() {
int h=0;
scanf("%d",&h);
//第一行空格数 3*(h-1)+2
//每行空格数-1 直到 (h*3)行没有空格
//圣诞树的头
for(int i=0;i<(h*4)-h;i++) { //控制每行
for(int j=0;j<3*(h-1)+2-i;j++) { //控制圣诞树的头的行数
printf(" "); //每一行前面的空格
}
if(i%3==0) {
int count1=0;
count1 = (i/3)+1; //打印的次数
for(int o=0;o<count1;o++) {
printf("* ");
}
printf("\n");
}
if(i%3==1) {
int count2 = 0;
count2 = (i/3)+1;//打印的次数
for(int p=0;p<count2;p++) {
printf("* * ");
}
printf("\n");
}
if(i%3==2) {
int count3 = 0;
count3 = (i/3)+1;//打印的次数
for(int q =0;q<count3;q++) {
printf("* * * ");
}
printf("\n");
}
}
//圣诞树的尾巴
for(int i=0;i<h;i++) {
for(int j=0;j<3*(h-1)+2;j++) {
printf(" ");
}
printf("*");
printf("\n");
}
return 0;
}


查看2道真题和解析