7年前インデントをしっかり行なってください。tab一つ(スペース4個分)です。;iの中身を頭で考えつつ上から考えていってみてください。役割は、「何個目の入力であるかを管理する」ことですよね。7以下と決まっていますね。10.0以上の値が入力されたら合計の計算をその場で打ち切るこことは何の関係もないですね。負の値が入力された場合は無効として合計の計算に入れないこの仕様を満たしていますか?私には、「正の値または0を入力した場合を無効にしている」ように見えます。それに、書く場所も正しくなさそうですね。]バグのないプログラムはない。プログラムは思ったとおりには動かない。break;はi=1のときこの部分はどうなるか考えてみてください。セミコロンは文を切るためですダウト。参考書などで、if文の書き方を基本から勉強してください。10以下だったら何もしない、という意味になっています。バグのないプログラムはない。プログラムは思ったとおりには動かない。sum+=x;入力した値をすぐに合計に足していますよね。問題文をよく読んで理解してください。7年前まずは、どの変数になんの値が入っているのか考えてみてください。//最後に表示するxの合計の値みたいな感じで。printf("%d",i);}これのmaxの値を変えたりして何回か実行してみてください。maxがどういう役割を果たしていて、iがどのように、どこまで増えているのか確認してみてください。セミコロンや、かっこなどの意味を理解されていないように思えます。いう記号にはひとつひとつに意味があります。それをまず勉強されるべきだと思います。1から作らなくても、ぐぐればサンプルコードはでてきます。それらを組み合わせたり、改造したりして何がどういう動きをして、どういう書き方が正しいか調べてみてください。continue;ここの意味が全くわかりません。何がしたいのでしょうか。バグのないプログラムはない。プログラムは思ったとおりには動かない。7年前breakとcontinueを使うのが条件だから無理やり使ったのでしょうか?breakは処理を中断するとき、continueは処理を再度やり直す時等に使うと思います。break;(キー入力だと半端じゃない桁も入力できると思うので。continue;(ループ内でこれより後の処理そ飛ばします)等があると思います。ミクプラは自由にリンクできます。