2016-06-28 8 views
4

私は立ち往生しており、目を新鮮に使うことができます。Cコードのヘルプ、ループ、倍数の合計

ここに質問があります: 100と500の間にある8の倍数の合計を計算するループを作成します。合計を出力します。

は、ここで(複数> 100 & &複数< 500)私の唯一の出力がある一方で、「続行するには何かキーを押して」...私が言う場合とき

私の問題は、ある私のコードです。私はそれを編集すると言っている間(複数< 500)それは正常に実行されますが、私は必要ない100未満の倍数を含みます。

それは(複数> 100 & &複数< 500)ながら、私は言わせませんなぜ私は理解していない

任意の助けいただければ幸いです。

int number = 8, count = 1, multiple = 0, sum = 0; 
while (multiple < 500) { 
    multiple = number * count; 
    count = ++count; 
    printf("Your multiple is: %i \n", multiple); 

} 

sum = multiple * count; 
count = ++count; 
printf("Your sum of the multiples are: %i \n", sum); 


system("pause"); 
+1

これは、ここで優れた最初の質問です。あなたは何をしようとしているのか、あなたが抱えている問題を説明し、関連するコードを含んでいます。より多くの新しいユーザーが、そのことを正しく行うために努力していきたいと思っています。ありがとう! –

+1

'count = ++ count;'ヒント:シーケンスポイント。 – joop

+0

'count = ++ count;'は何を期待しますか? – chux

答えて

2

multipleあなたがループに入ることはありません0からスタートするので、それはあなたがwhile(multiple > 100)を言わせません。

あなたが望む:あなただけの数= 101を初期化する場合

while (multiple < 500) { 
    multiple = number * count; 
    count = ++count; 
    if (multiple > 100) { 
     printf("Your multiple is: %i \n", multiple); 
    } 
} 
+0

@ nhouser9もしそれがヘビだったら、それは少し私を持っていただろう。ありがとうございます – Powerstroke89

+0

@ken whiteええ、私は今何をしたのか分かります。それは長い日だったと私は0の問題である初期化を逃したために愚かな気がします。 – Powerstroke89

+0

@DavidSchwartz:どちらもゼロですが、それは無関係です。なぜゼロで始めるのですか? (あなたは正しい、それは100未満で始まったはずだがゼロではない) –

0

こんにちは簡単な答えがあります。 コードは正常に実行され、100〜500の合計が必要なため正解になります。

あなたが探していない処理時間を無駄にするのはなぜか。

+1

まっすぐ間違っています - これは "101、109"などを印刷します。印刷される数字は8の倍数になりません。 – nhouser9

関連する問題