C/C++经典程序训练5---图形打印问题

C/C++经典程序训练5---图形打印问题

时间: 1ms        内存:4M

描述:

图形的规则如下 ,要求输入n的值,按照图形的打印规则打印出相关的图形

       +                      
      +*+                + 
     +***+              +*+ 
    +*****+            +***+          + 
   +*******+(n=5)     +*****+(n=4)   +*+(n=2) 
    +*****+            +***+          + 
     +***+              +*+ 
      +*+                + 
       + 
                

输入:

输入整数n

输出:

按图形的规律打印出相关的图形

示例输入:

4

示例输出:


   +
  +*+
 +***+
+*****+
 +***+
  +*+
   +

提示:

参考答案(内存最优[752]):

#include "stdio.h" 
int main() 
{ 
	int i,j,k,n,x;  
	scanf("%d",&n);  
	for(x=1;x<=n-1;x++)  
	{  
		printf(" ");  
	}  
	printf("+\n"); 
	for(k=1;k<=n-1;k++)  
	{  
		for(i=1;i<=n-1-k;i++)  
		{  
			printf(" ");  
		}  
		printf("+"); 
		for(j=1;j<=2*k-1;j++)  
		{  
			printf("*"); 
		}  
		printf("+\n"); 
	}  
	
	for(k=1;k<n-1;k++)  
	{  
		
		for(i=1;i<=k;i++)  
		{  
			printf(" ");  
		}  
		printf("+"); 
		for(j=1;j<=2*n-2*k-3;j++)  
		{  
			printf("*"); 
		}  
		printf("+\n"); 
	}  
	
	for(x=1;x<n;x++)  
	{  
		printf(" ");  
	}  
	printf("+"); 
	return 0;
}

参考答案(时间最优[0]):

#include "stdio.h" 
int main() 
{ 
	int i,j,k,n,x;  
	scanf("%d",&n);  
	for(x=1;x<=n-1;x++)  
	{  
		printf(" ");  
	}  
	printf("+\n"); 
	for(k=1;k<=n-1;k++)  
	{  
		for(i=1;i<=n-1-k;i++)  
		{  
			printf(" ");  
		}  
		printf("+"); 
		for(j=1;j<=2*k-1;j++)  
		{  
			printf("*"); 
		}  
		printf("+\n"); 
	}  
	
	for(k=1;k<n-1;k++)  
	{  
		
		for(i=1;i<=k;i++)  
		{  
			printf(" ");  
		}  
		printf("+"); 
		for(j=1;j<=2*n-2*k-3;j++)  
		{  
			printf("*"); 
		}  
		printf("+\n"); 
	}  
	
	for(x=1;x<n;x++)  
	{  
		printf(" ");  
	}  
	printf("+"); 
	return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注