2

ゼロで終わる複数の数値を入力し、それらを使用してさまざまな計算を実行する演習があります。これまでのところdo..while、数値を格納するためのループを作成しました。これは配列なしでも可能だと言われましたが、それが間違っている場合はすぐに教えてください。実行する必要がある機能は、すべての数値を加算し、最大の数値と 2 番目に高い数値、およびすべての数値の中間 (平均) 値を見つけることです。使用する必要があるさまざまなライブラリがあり、さまざまなオプションもあると思います。さまざまなライブラリとその使用方法を理解するのを手伝ってください。Web で見つけた検索結果では、探している答えが得られません。同じような問題が見つからなかったからです。これまでの私のコードは次のとおりです。

#include<iostream>
#include<string>

using namespace std;

int sumCalc (int);
int midValCalc (int);
int secHighCalc (int);
int highestCalc (int);
void printCalc ();


int main()  {

    int nums;
    cout << "Input numbers, quit with 0: ";

    do {
        cin >> nums;
        cout << nums << " ";    // This is just to see the result    
    }
    while (nums != 0);

    return 0;
}

この追加機能の何が問題になっていますか?

int sumCalc (int total)   {

total = 0;
while (nums != 0) {
    total += nums;
}

return nums;

}

4

2 に答える 2

5

これには珍しいライブラリは必要ないと思います。

これらのことを頭の中でどのように計算するかを考えてみてください。たとえば、私が読んだ数値のリストを合計したい場合は、現在の合計を追跡し、追加した各数値を忘れて、1 つの変数のみが必要になるようにします。入力された最大数を追跡したい場合は、これまでに見た最大の数を覚えて、新しい数値が得られたら比較するだけです。

おそらくこれらを解決できます。

于 2013-07-15T16:13:24.313 に答える