这个作为新手入门的经典题,大部分同学都是采用两个循环实现的,这不免显得冗余,本文对经典代码进行改进:
~紧紧结合函数的对称性
#include<stdio.h>int main(){int n ,i, j;scanf("%d", &n);for (int i = -n + 1; i < n;i++){int t;t = i > 0 ? i : -i;//取绝对值for (int j = 0; j < t;j++)printf(" ");for (int j = 0; j < 2*(n - t)-1;j++)printf("*");printf("\n");}return 0;}
代码实现图