首页 > 代码库 > 超简单画出菱形

超简单画出菱形

    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

超简单画出菱形