C语言复习---打印菱形

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>


int main()
{
    int n=0;                    //层数
    while (!n%2)                //保证是奇数层
        scanf("%d", &n);

    int blank = (n - 1) / 2;    //第一行的空白数
    int number = 0;                //每一行的星星数
    for (int i = 0; i < n / 2;i++)    //上半部
    {
        for (int j = 0; j < blank-i;j++)
            printf(" ");
        for (int j = 0; j < 1 + 2 * i; j++)
            printf("*");
        printf("
");
    }

    for (int i = 0; i < n; i++)        //中间
        printf("*");
    printf("
");

    for (int i = 1; i <= n / 2; i++)//后半段
    {
        for (int j = 0; j < i; j++)
            printf(" ");
        for (int j = 0; j < n - i * 2; j++)
            printf("*");
        printf("
");
    }
    system("pause");
    return 0;
}
原文地址:https://www.cnblogs.com/ssyfj/p/9382557.html