printf関数を使用して、C言語で折れ線グラフを表示する方法は何ですか?

printf関数を使用して折れ線グラフを出力するには、ループ構造と条件文を使用して出力する文字を制御できます。以下はサンプルコードです:

#include <stdio.h>

void printLineChart(int data[], int n) {
    int max = data[0];
    for (int i = 1; i < n; i++) {
        if (data[i] > max) {
            max = data[i];
        }
    }

    for (int i = max; i > 0; i--) {
        for (int j = 0; j < n; j++) {
            if (data[j] >= i) {
                printf("* ");
            } else {
                printf("  ");
            }
        }
        printf("\n");
    }

    for (int i = 0; i < n; i++) {
        printf("%d ", data[i]);
    }
    printf("\n");
}

int main() {
    int data[] = {5, 3, 8, 2, 7};
    int n = sizeof(data) / sizeof(data[0]);

    printLineChart(data, n);

    return 0;
}

上記のコードでは、printLineChart関数が整数の配列と配列の長さを引数として受け取ります。配列dataには折れ線グラフを描画するデータが格納されています。まず、配列を反復処理して最大値を見つけ、グラフの最高点を決定します。

その後、ネストされたforループを使用して、各行と各列を順番に走査し、データの大きさに基づいて、対応する位置に星印*を出力する必要があるかどうかを判断します。データが現在の行数以上であれば、星印を出力し、そうでなければ空白を出力します。これにより、折れ線グラフの形式で出力することができます。

最後に、単純なforループを使用して、データ自体を出力し、底辺の目盛りとします。

上記のコードを実行すると、以下の結果が出力されます。

*     * 
*     * 
* *   * 
* *   * 
* * * * 
5 3 8 2 7

printfを使用して、特定のルールに従って文字を出力することで、シンプルな折れ線グラフ効果を実現できます。

bannerAds