のループのために、私は、変数x = 1
のC.でループの初期値に値を合計しようとしていますし、私はそれを設定された回数を倍増し、結果を追加します。私はforループを作ったが、私の合計は初期値で常にオフになっています。誤った合計 - C
x = 1
例えば、もし、パターンが行く必要があります。
1, 2, 4, 8, 16
を...とtotal
は31
でなければなりません。残念ながらtotal
は1つずれています。
int x = 1;
int y = 10;
int total;
for(int i = 1; i < y; i++)
{
x *= 2;
total += x;
}
printf("Total: %d\n", total);
これは1つではありません。ループを2
ではなく1
で開始するにはどうすればよいですか?
これは、最初の値x = 1が合計に加算されないためです。最初に 'total + = x'に達すると、xの値はすでに2になっています。 – arunkumar
forループを削除し、' total =(2 << y)-1;あなたが望む出力を正確に伝えるのは難しいです)。 –
この宿題はありますか?もしそうなら、私たちが対応する方法を知っているようにタグを付けてください。 –