OJ (1967): C/C++经典程序训练5---图形打印问题

时间:2022-01-26 14:10:10

问题及代码

Description

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

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

Input

输入整数n

Output

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

Sample Input

4

Sample Output


+
+*+
+***+
+*****+
+***+
+*+
+
/*烟台大学计算机学院 2016
作者: 马春澎
完成日期:2016年12月24日 */

#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=1; i<n; i++)//打印第一行
printf(" ");
printf("+");
printf("\n");
for(i=1; i<n; i++)
{
for(j=2; j<=n-i; j++)
printf(" ");
printf("+");
for(j=n-i+1; j<n+i; j++)
printf("*");
printf("+");
printf("\n");
}
for(i=n-2; i>0; i--)
{
for(j=2; j<=n-i; j++)
printf(" ");
printf("+");
for(j=n-i+1; j<n+i; j++)
printf("*");
printf("+");
printf("\n");
}
for(i=n-1; i>0; i--)//打印最后一行
printf(" ");
printf("+");
printf("\n");
return 0;
}

运算结果
OJ  (1967): C/C++经典程序训练5---图形打印问题
知识点总结
循环结构的综合应用
学习心得
这道题目和以前打印空心三角形那道题目很相似,只需把空心部分换成*就好了,再打印下面即可。