不难发现,要输出的奇数列,都是以m * m为对称的。这个对称轴两边各有n / 2 个元素,每两个元素之间相差2。所以第一个元素总是m * m - m +1。
设计一个循环,循环次数为m次,每循环一次,打印一个元素,打印一个加号,到第m次的时候,使用continue跳掉打印加号。就完成了奇数列的打印。
#include <stdio.h>
void ni(int m)
{
int n = m * m;
int i = 0;
int a = n - m + 1;
for (i = 1; i <= m; i++)
{
printf("%d", a);
a += 2;
if (i == m)
{
continue;
}
printf("+");
}
}
int main()
{
int m = 0;
scanf("%d", &m);
ni(m);
return 0;
}