C语言 经典案例 金字塔、空心金字塔和空心菱形
先看效果:
代码如下:
1.金字塔
void main(){
int i, j, h;
printf("请输入层数:");
scanf("%d", &h);
// 金字塔
for(i = 1; i<=h; i++){
for(j=0; j<h-i; j++){
printf(" ");
}
for(j=0; j<2*i-1; j++){
printf("*");
}
printf("
");
}
}
2.空心金字塔
void main(){
int i, j, h;
printf("请输入层数:");
scanf("%d", &h);
// 空心金字塔
for(i = 1; i<=h; i++){
for(j=0; j<h-i; j++){
printf(" ");
}
for(j=0; j<2*i-1; j++){
if(j == 0 || j == 2*i-2 || i == h){
printf("*");
}else{
printf(" ");
}
}
printf("
");
}
}
3.空心菱形
void main(){
int i, j, h;
printf("请输入层数:");
scanf("%d", &h);
// 空心菱形
for(i = 1; i<=h; i++){
for(j=0; j<h-i; j++){
printf(" ");
}
for(j=0; j<2*i-1; j++){
if(j == 0 || j == 2*i-2){
printf("*");
}else{
printf(" ");
}
}
printf("
");
}
for(i=h-1; i>0; i--){
for(j=0; j<h-i; j++){
printf(" ");
}
for(j=0; j<2*i-1; j++){
if(j == 0 || j == 2*i-2){
printf("*");
}else{
printf(" ");
}
}
printf("
");
}
}
