こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ループ

#include<stdio.h>

int main(void)
{
int i=1,sum=0;
int num=1;

while(num>0)
{
printf("整数を入力してください。(マイナスの値で終了)\n");
scanf("%d",&num);
printf("%dが入力されました。(%d番目の繰り返しです)\n",num,i);
sum+=i;
printf("1から%dまでをたすと%dです。\n",i,sum);
i++;
}

printf("繰り返しが終わりました。\n");
printf("加算値は%dです。\n",sum);
printf("%d回繰り返しました。\n",i);

return 0;
}

このプログラムで101以上の数値は加算しないようにするにはどうすればいいですか。

投稿日時 - 2004-06-02 00:40:29

QNo.878151

暇なときに回答ください

質問者が選んだベストアンサー

1から終了までの整数を合計した値を、毎回終了するか聞いて終了される(マイナスの数値を入力される)まで合計していくというプログラムですね。

質問があいまいです。

iが101以上になったときに加算せずにループを終了させるのでしょうか?
iが101以上になったとき、加算はしないがループは続行させるのでしょうか?

加算させずにループを終了するなら、
i++;
の次に、iが101ならループ終了という文を追加すれば終わりです。

101以上になったときに加算はしないがループは続行させるなら、
sum+=i;
の行を、iが101より小さいなら加算という文に変更すればよいです。


念のため。
マイナスの数値を入力しても即座に終わらず、その回の加算などの処理は行われますが、意図どおりですよね?
numは終了するかどうかの判定だけに使われるでいいんですよね?
失礼かとおもいましたが、一応確認してみました

投稿日時 - 2004-06-02 01:24:36

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)