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

来源:互联网 发布:淘宝化妆品店铺简介 编辑:程序博客网 时间:2024/05/18 17:43

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

       +                     
      +*+                +
     +***+              +*+
    +*****+            +***+          +
   +*******+(n=5)     +*****+(n=4)   +*+(n=2)
    +*****+            +***+          +
     +***+              +*+
      +*+                +
       +
                
Input
输入整数n

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

Sample Input
4
Sample Output

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


解法:

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