私はもちろん入門C++にいるよ、とこのプロンプトに問題が午前:コードが無限ループに入る、わからないなぜ
「は、標準入力からの正の整数を読み込み、ループを書くと、それはときに終了ループが終了すると、読み込まれた偶数の整数の総和、読み込まれた奇数の整数の総和、読み込まれた偶数の整数の数、および偶数の整数の合計が出力されます。読み込まれた奇数の数。すべてが1つのスペースで区切られています。必要な変数を宣言してください。
int num = 0; int evens = 0; int odds = 0; int evenSum = 0; int oddSum = 0; do { cin >> num; if (num % 2 == 0){ evens++; evenSum += num; } else if (num > 0) { odds++; oddSum += num; } else { num = -1; } } while (num >= 0); cout << evenSum << " " << oddSum << " " << evens << " " << odds;
私は除いて何のフィードバックを得るん:autograderから「失敗:コード無限ループに入る」次のように
私のソリューションです。私は間違って何をしていますか?
このスニペットの周りにテストフレームワークを構築し、開発環境に付属のデバッガで実行します。無限ループは通常、トラップして識別するのが非常に簡単です。 – user4581301
1つのことが間違っていますが、無限ループではなく、割り当て仕様との違いです。「正でない整数を読み込むと終了します。このプログラムは、負の数を処理してループを終了しようとします。 – user4581301
は、提供されたコードでオンラインコンパイラを使用しています。 – xyious