浙江版「言語のプログラミングC(第3版)」タイトルセットの問題4-9ダイヤモンドパターン(15分)で印刷

ここに画像を挿入説明
ソリューション:

  • 印刷グラフィックスは、二重ループでなければなりません。
  • 上記ライン星の各々は、より徐々に、徐々に少なく各行を下記する2環状基、トップチューブ、以下チューブでなければなりません。
  • したがって、最初の4つのラインループ条件I <(N + 1)/ 2上記の重み。
  • 最初の4つのライン宇宙法:最初の行スペースの三対、スペースの二対の2行目、3行目空間の一組、第4行ありません。7/2 = 3およびiが、0から3になるようにN / 2を考える - 私。
  • 最初の4行スター法:1 3 5 7、I 0から3までは、その2 * I + 1を考えます
  • ここでのように。

この方法の一つ:

#include <stdio.h>
int main()
{
    int n, i, j;
    scanf("%d", &n);
    for (i = 0; i < (n + 1) / 2; i++)
    { //前四行。
        for (j = 0; j < n / 2 - i; j++)
            printf("  ");
        for (j = 0; j < 2 * i + 1; j++)
            printf("* ");
        printf("\n");
    }
    for (i = 1; i <= (n - 1) / 2; i++)
    { //后三行。
        for (j = 0; j < i; j++)
            printf("  ");
        for (j = 0; j < n - 2 * i; j++)
            printf("* ");
        printf("\n");
    }
    return 0;
}

方法2:

#include <stdio.h>
int main()
{
    int n, i, j;
    scanf("%d", &n);
    for (i = 0; i < n / 2 + 1; i++)
    {
        for (j = 0; j < n / 2 - i; j++)
            printf("  ");
        for (j = 0; j < (i + 1) * 2 - 1; j++)
            printf("* ");
        printf("\n");
    }
    for (i = n / 2; i > 0; i--)
    {
        for (j = n / 2 - i + 1; j > 0; j--)
            printf("  ");
        for (j = i * 2 - 1; j > 0; j--)
            printf("* ");
        printf("\n");
    }
    return 0;
}

複数の印刷のために他のグラフィックスは、この場所を訪問することができます

公開された165元の記事 ウォンの賞賛117 ビュー7801

おすすめ

転載: blog.csdn.net/qq_44458489/article/details/105320749