图案打印
Time Limit: 1000 ms / Memory Limit: 65536 kb
Description
一年一度的植树节就要到了,计算机学院学生准备在学院教学楼门前的空地上种植树木。为使树木排列得更加美观,大家决定把树木排列成菱形。现在告诉你我们所拥有的树木能排列成边长为N的菱形,请你编程输出树木所排列的图案(用*号代表树木)。
Input
一个整数N(1≤N≤10)。
Output
排列成菱形图案的*号。请注意在图案中:每行树木之间无空行,每列树木之间均有一个空列。
Sample Input
3
Sample Output
* * * * * * **
#include<stdio.h> #include<math.h> int main() { int i,j,k,n; scanf("%d",&n); for(i=1;i<=2*n-1;i++) { if(i<=n) { if(i==1) { for(k=1;k<=2*n-1;k++) { if(k==2*n-1) printf("*"); else printf(" "); } } else if(i>1) { for(k=1;k<=2*n+2*(i-1)-1;k++) { if(k==2*n-2*i+1||k==2*n+2*i-3) printf("*"); else printf(" "); } } } if(i>n) { int m=2*n-i; if(m==1) { for(k=1;k<=2*n-1;k++) { if(k==2*n-1) printf("*"); else printf(" "); } } else { for(k=1;k<=2*n+2*m-3;k++) { if(k==2*n-2*m+1||k==2*n+2*m-3) printf("*"); else printf(" "); } } } printf("\n"); } return 0; }