B2025题解
本题是一道非常简单的入门题,直接输出相应图案即可,相应做法其他题解多有阐述。这里我想给出一种较为通用的做法,使得程序对于给定的奇数
不难发现,按照题目要求,程序输出的每一行内容都由空格和星号组成。所以问题转化成「对于第
前者的答案是显而易见的,每行的空格数和星号数都是奇数,因此第
不太好看,我们可以把它也变成像空格数表达式一样好看的绝对值形式:
容易发现,两个问题的本质是一样的,只是后者的对称轴不在
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
int n = 5;//将5换为其他数字即可实现任意对角线长度。
for(int i = 0;i < n;i++)
{
for(int j = 0;j < abs((n-1)/2-i);j++)
printf(" ");
for(int j = 0;j < (-1*abs(2*(i-(n-1)/2))+5);j++)
printf("*");
printf("\n");
}
}