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("
");
	}
}
经验分享 程序员 微信小程序 职场和发展