打印菱形与abs

来源:互联网 发布:天道总司 知乎 编辑:程序博客网 时间:2024/05/17 03:31

打印菱形:

``
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的做用是得到绝对值。
核心逻辑在于中间行的对称