2016-09-08 6 views
-6

私は構造体を使用してCでリンクリストを作成し、intを格納します。私の使命は、再帰やループを使わずにリストの値の平均を計算することです。 私は既にリストのアイテム数を持っています。私は合計が必要です。Cループのないリストの平均を計算するにはどうすればよいですか?

アイデア?

+2

リストの長さは制限されていますか?無制限リストの場合は、何らかのループまたは再帰が必要です。回避策(不正行為?)は、リスト作成中に既に平均値または合計値を計算することです。 –

+4

リストに要素を追加するときに合計に値を追加しますか? – user694733

+1

"ループ"とは何ですか? 'for(...)'、 'while(...)'と 'goto'だけですか? – ensc

答えて

4

単純に2つの変数を持つ - 合計、合計。追加と削除でそれらを更新してください。 平均時が必要な場合は、total/countを返します。

+0

うわー、私は実際にそれについて考えたことはありませんでした。 –

-1

リストには長さの制限はありませんが、解決策が見つかりました。 リストの集計に変数を作成してリストの合計を保存し、セルを追加または削除するたびにリストの合計を変更します。合計を計算したいときは、その合計をカウントで除算するだけです。

ありがとうございます。

+0

あなたはループや再帰なしでリストを埋めましたか? –

+0

@Peter G. Yea、ループや再帰の必要はありません。これは、各セルがpreviosとnext cellのポインタを持つリンクリストと、そのセルを所有するリストへのポインタです。 –

+0

一般的な言語では理論的には良いと答えていますが、Cの詳細には不十分です。 Cの実装を投稿することで、人々はその品質/弱点を評価することができます。 – chux

関連する問題