C/C++、Python输出奇数行菱形图案
输入一个正奇数n,输出一个n行菱形
如:输入n = 5,输出:
思路一:直接寻找规律,发现前一半的第 i 行分别输出了(n + 1 - 2 * i) / 2个空格和2 * i - 1个 ’ * ’ ;而后一半就是前一半输出的倒序。
代码如下:
C:
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
for(int i = 1; i <= (n + 1) / 2; i ++ )//前一半至0.5 * (n + 1)结束
{
for(int k = (n + 1)/2 - i; k > 0; k--)
printf(" ");
for(int j = 2 * i - 1 ;j > 0; j --)
printf("*");
printf("\n");
}
for(int i = (n - 1) / 2; i > 0; i -- )//后一半从0.5 * (n - 1)开始回倒
{
for(int k = (n + 1)/2 - i; k > 0; k--)
printf(" ");
for(int j = 2 * i -