C言語で*を使った多様な図形の作り方:星・台形・円のサンプルコード

C言語関連

C言語では、for文を使って長方形や三角形を作ることができますが、工夫次第で星型、台形、円形なども作成可能です。ここでは基本的な考え方とサンプルコードを紹介します。

星型の作り方

星型は行ごとに空白と*の位置を調整して描画します。例えば五角形の星の簡易パターン:

for(int i=0;i<5;i++){
    for(int j=0;j<5-i;j++) printf(" ");
    for(int k=0;k<2*i+1;k++) printf("*");
    printf("\n");
}

台形の作り方

台形は上下の幅を変化させながら*を表示することで作れます。

int width_top=3, width_bottom=7;
for(int i=0;i<4;i++){
    int w = width_top + i*(width_bottom-width_top)/3;
    for(int j=0;j<w;j++) printf("*");
    printf("\n");
}

円形の作り方

円は座標計算で判定して*を出力します。中心と半径を使った例:

int r=5;
for(int y=-r;y<=r;y++){
    for(int x=-r;x<=r;x++){
        if(x*x + y*y <= r*r) printf("*");
        else printf(" ");
    }
    printf("\n");
}

まとめ

for文を駆使することで、基本の長方形や三角形だけでなく、星型や台形、円形も描画できます。ポイントは各行ごとの*の数や空白の位置、座標計算による条件判定です。最初は簡単な図形から試し、徐々に複雑な形に挑戦すると理解が深まります。

コメント

タイトルとURLをコピーしました