Description
问题:输入n,输出正倒n层星号三角形。首行顶格,星号间有一空格,效果见样例
输入样例:
3
输出样例:
* * *
* *
*
* *
* * *
数据规模 1<= n <=50
#include<cstdio>
int main(){
int n;
scanf("%d",&n);
int bottom=2*n-1;//算上空格每行共有的长度
//输入倒三角
for(int i=bottom;i>=1;i-=2){//i为当前行长
for(int j=0;j<(bottom-i)/2;j++ ){//字符输入前需要输入的空格数为(bottom-i)/2
printf(" ");
}
for(int k=0;k<i;k+=2){//k+=2是因为每两个字符直接隔了一个空格
printf("*");
printf(" ");
}
printf("\n");
}
//输出正三角
for(int i=2;i<=bottom;i+=2){//i为当前行长
for(int j=0;j<(bottom-i)/2;j++ ){//字符输入前需要输入的空格数为(bottom-i)/2
printf(" ");
}
for(int k=0;k<=i;k+=2){
printf("*");
printf(" ");
}
printf("\n");
}
return 0;
}