打印菱形:
``
int a, b, i, j,k; //分别定义要输入的打印行数,循环到的行数,打印空格的数量,打印星号的数量,中间行。
scanf("%d", &a); //输入要打印的行数
k = a / 2 + 1; //中间行的计算方法
getchar();//暂停
for (b = 0; b < a + 1; b++)//从第一行循环到最后一行
{
for (i = 0; i < abs(b - k); i++)//空格每行循环打印的个数
{
printf(” “);//打印空格
}
for (j = 0; j < (k - abs(b - k)) * 2 - 1; j++)//星号每行循环打印的个数
{
printf(“*”);//打印星号
}
printf(“\n”);//打印完空格和星号之后换行
}
“`
abs的做用是得到绝对值。
核心逻辑在于中间行的对称
2066

被折叠的 条评论
为什么被折叠?



