题目描述
输入一个整数n,(1<=n<=20),输出一个空心菱形,其中每个边由n个'*'组成。
输入
输入包含一个整数,n(1<=n<=20)
输出
输出一个空心菱形,每个边由n个'*'组成
样例输入
5
样例输出
* * * * * * * * * * * * * * * *
void PrintSpace(int m){
int i;
for(i=1;i<=m;i++)
printf(" ");
}
void PrintStar(int m){
int i;
for(i=1;i<=m;i++){
if(i==1) //把打印1的地方换成*
printf("*");
else
printf(" "); //把打印其他数字的地方换成空格
}
for(i=m-1;i>0;i--){
if(i==1)
printf("*");
else
printf(" ");
}
}
int main(){
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++){ //上半部分
PrintSpace(n-i);
PrintStar(i);
printf("\n");
}
for(i=n-1;i>0;i--){ //下半部分
PrintSpace(n-i);
PrintStar(i);
printf("\n");
}
return 0;
}
tips:根据打印数字图形演变而来。掌握了打印1108的打印数字图形后,将打印1的地方换成打印*,打印其他数字的地方换成打印空格。