単一の scanf を取得し、複数の整数に対していくつかの数学演算を実行する必要がある割り当てがあります。入力の最初の数値は、続く整数の数を設定します。つまり、3 45 67 18 は N var1 var2 var3 と解釈され、4 100 23 76 92 は N var1 var2 var3 var4 と解釈されます。最初の繰り返しで指示どおりにプログラムを作成できませんでしたが、想定どおりに機能します。var1 var2... varN の格納は、scanf を N 回実行するループに入れ、残りの数値を配列 n[1000] に格納するだけで完了します。私が言ったように、プログラムは動作します...ちょっと、しかし、割り当てが指示したようには動作しません。割り当てによって提供されるサンプル実行は次のようになります。
Please enter n followed by n numbers: 3 6 12 17
Test case #1: 6 is NOT abundant.
Test case #2: 12 is abundant.
Test case #3: 17 is NOT abundant.
私のプログラムの出力は次のとおりです。
Please enter n followed by n numbers: 3
6
12
17
Test case #1: 6 is NOT abundant.
Test case #2: 12 is abundant.
Test case #3: 17 is NOT abundant.
これが私のプログラムへのリンクです。私は同様の質問の多くを読みましたが、コンソールから入力をキャプチャする他の方法とは対照的に、ほとんどが scanf の使用を矮小化しているようです。この投稿は、動的に設定された数の変数が必要であることを除いて、私が探している答えに非常に近いものです。私は malloc 関数を使用する必要があると感じていますが、これを使用する方法がよくわからず、それでも 1 行の scanf 入力を実行できます。
ありがとう