キーボードから受け取った正の整数をmaxとし、1からnまでの和をsumとしたとき、sumがmaxを超えないようなnとsumを求めるプログラムを作ったのですが、思うように動きません。どこが間違っているのか教えていただきたいです。
#include <stdio.h>
int main (void)
{
int max,n,sum;
printf("最大値maxを入力してください>>"); scanf("%d",&max); for( sum=0, n=1 ; sum<max ; n++) { sum += n; } printf("n=%d,sum=%d",n,sum); return 0;
}
結果
最大値maxを入力してください>>5
n=4,sum=6
理想結果
最大値を入力してください>>5
n=2,sum=3
追記
なぜsum<maxを継続条件にしているのにsumの値はmaxを超えているのでしょうか。
こちらも答えていただけると幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/18 13:04