这个作为新手入门的经典题,大部分同学都是采用两个循环实现的,这不免显得冗余,本文对经典代码进行改进:
~紧紧结合函数的对称性
#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;
}
代码实现图
更多推荐
C语言—输出菱形(一次循环嵌套实现)
发布评论