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

问题及代码

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;
}

运算结果
知识点总结
循环结构的综合应用
学习心得
这道题目和以前打印空心三角形那道题目很相似,只需把空心部分换成*就好了,再打印下面即可。

展开阅读全文

没有更多推荐了,返回首页