【解決方法】 5 つの数字の合計を出力するにはどうすればよいですか? そして平均?


ヘイ! 私は現在CLionを使用してCでプログラミングしていますが、これは初めてです。

質問は:

「0が与えられるまでユーザーに数字を尋ねるプログラムを書いてください:

与えられた数字の数を出力します (0 を除く):
カウント: 5
すべての数値の合計を出力します。
合計: 78
平均を出力します。
平均: 15.6″

しかし、合計を印刷できないようですか? 方法がわからない平均。

私が試したこと:

C++
int main()
{
    int input = 5;

    while(input != 0)
    {
        printf("Enter 5 number (0 to stop): ");
        scanf("%i", &input);
    }

    int sum = input;
    printf("The sum is: %i", sum);

    return 0;
}

解決策 1

合計と平均は単純な数学的計算です。 そのために必要な操作を書き留めておけば、書いたものをコードに変換できます。

解決策 2

コードが期待どおりに動作しないか、理由がわかりません。

ほぼ普遍的な解決策があります。コードをデバッガーで段階的に実行し、変数を調べます。
デバッガーは、コードが何を行っているかを示すためにここにあり、あなたのタスクはコードが何をすべきかを比較することです。
デバッガーには魔法はありません。あなたの cpde が何をするべきかを知りません。バグを見つけません。何が起こっているかを示すことで、あなたを助けるだけです。 コードが期待どおりに動作しない場合は、バグに近づいています。
コードの動作を確認するには: ブレークポイントを設定してコードの実行を確認するだけです。デバッガーを使用すると、行を 1 行ずつ実行し、実行時に変数を調べることができます。
デバッガ – ウィキペディア (フリー百科事典)[^]

Visual Studio 2010 でのデバッグの習得 – 初心者向けガイド[^]
Visual Studio 2010 を使用した基本的なデバッグ – YouTube[^]
1.11 — プログラムのデバッグ (ステッピングとブレークポイント) | C++ を学ぶ[^]

デバッガーは、コードが何を行っているかを表示するためだけに存在し、あなたのタスクはコードが何をすべきかを比較することです。

解決策 3

Patrice が書いたようにデバッガーの使い方を学ぶと、間違いや不足しているコードを見つけることができます。

チップ:
1.ループ内の入力数をカウントする
2.ループで合計する必要があります(値が次の入力で上書きされるため)
3. ループ後の入力数の出力

解決策 5

コードは次のようになります

C++
int main()
{
    int input = 5;
    int sum = 0;
    int count = 0;

    while(input != 0)
    {
        printf("Enter 5 number (0 to stop): ");
        scanf("%i", &input);
        sum += input;
        if (input != 0) ++count;
    }

    //int sum = input;
    float avg = (float) sum;

    if (count != 0) avg /= count;

    printf("Count is: %d\n", count);
    printf("The sum is: %d\n", sum);
    printf("Average is: %.2f\n", avg);

    return 0;
}

コメント

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