金字塔问题

打印金字塔

 

Description

请编写程序输出金字塔图形。

Input

多个测试数据。每个测试数据输入一个整数n(1 <= n <= 9)

Output

输出n层金字塔。

Sample Input

1
3

Sample Output

*
  *
 ***
*****

HINT

用双重循环做,外循环代表行数,第一个内循环输出空格,第二个内循环输出*
for(;;)
{

for(;;)
{

}//输出空格

for(;;)
{

}//输出*


}//外循环

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {	
	int n;
	int i,j;
	while (scanf("%d",&n)!=EOF&&n>=1&&n<=9){			
		for(i=1;i<=n;i++){	
			for(j=1;j<=n-i;j++){		
				printf(" ");		
			}	
			for(j=i;j<=3*i-2;j++){							
				printf("*");		
			}
			printf("\n");		
		} 	
	}	
	return 0;
}

双层金字塔

Description

输出双层金字塔。

Input

多个测试数据。每个测试数据输入一个整数n( 2 <= n <= 9)

Output

输出双层金字塔。

Sample Input

2
5

Sample Output

 *
***
 *
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {	
	int n;
	int i,j;

	while (scanf("%d",&n)!=EOF&&n>=2&&n<=9){
		for(i=1;i<=2*n-1;i++){
			
			if(i<=n){
				for(j=1;j<=n-i;j++){
					printf(" ");							
				}
		
				for(j=i;j<=3*i-2;j++){
					printf("*");						
				}
				printf("\n");				
			}else{
				for(j=1;j<=i-n;j++){
					printf(" ");							
				}	
				for(j=1;j<=4*n-2*i-1;j++){
					printf("*");						
				}	
				printf("\n");	
			}
		} 	
	}
		
	return 0;
}

 

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-26 18:54
说等下个版本吧的发呆爱好者很贪睡:佬最后去了哪家呀
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务