超简单画出菱形

来源:互联网 发布:win7网络在哪里 编辑:程序博客网 时间:2024/04/28 02:15
    for (int i = -3; i <= 3; i++) {        //三目运算        int  temp = i > 0 ? i : -i;        for (int j = 0; j < temp; j++) {            printf(" ");        }        //减去-的就是+正的了,要对称        for (int k = 0; k < 7 - 2 * temp; k++) {            printf("*");        }        printf("\n");    }    printf("\n"); 

输出结果:                                    temp          i            -i

   *         1    7-2*3     3       3      

  ***        3    7-2*2     2       2

 *****       5    7-2*1     1       1

*******      7    7-2*0     0             -0

 *****       5    7-2*1   -(-1)          -1

  ***        3    7-2*2   -(-2)          -2

   *         1    7-2*3   -(-3)          -3


Program ended with exit code: 0

i的取值-3,-2,-1,0,1,2,3

然后我们想得到的是3,2,1,0,1,2,3

所以就要判断了:

当i>0用一个变量得到1,2,3,然后相当于取绝对值一样将负数转化为正数就行了

这里用的是三目运算,这里就不多介绍了,原理知道的话空格就非常好打印了,

直接是3,2,1,0,1,2,3

1 0
原创粉丝点击