- 締切済み
C言語の勉強しています。教えてください
私は現在大学生でC言語が面白そうなので独学しているのですが、分からない点があり、参考書に解答も付属していないのでどなたか教えていただけると非常に助かります。 (参考書名:新版 明解C言語 入門編 著者:柴田望洋) p65の演習4-3 問題:2つの整数値を読み込んで、小さい方の数以上で大きい方の数以下の整数を全て加えた値を表示するプログラムを作成せよ。 (例)このように表示させたい 2つの整数を入力して下さい。 整数1:37(←例です。ここの数はscanfを利用して手動で打ち込みます) 整数2:28 28以上37以下の全整数の和は325です。 これまでに学習した事を利用して解きたいのでまず、自分でプログラムを書いてみますので訂正していただければ非常に助かります。 どうかお願いします
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
小さい方の数:n 大きい方の数:m 和:(n+m)*(m-n+1)/2
- koedame
- ベストアンサー率33% (10/30)
あくまで、参考までの答えです。 自分のが終わったら見てください。 ただし、きれいなプログラムではないのですみません。 それに直接ここに書いてしまっていますので実際動くか は試してません。間違っていたらすみません。 #include <stdio.h> int main() { int i; //for で使用するインデックス int sum = 0;//和を求める int a, b; //数値を格納する変数 int c, d; //cに小さい値、dに大きい値を格納 printf( "二つの整数を入力してください。\n" ); scanf( "%d", &a ); //値1を読み込む scanf( "%d", &b ); //値2を読み込む if( a < b ) { c = a; d = b; } else { c = b; d = a; } for( i=c; i<=d; i++ ) { sum += i; } printf( "%d", sum ); return 0; }
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
・単純にfor で足し算する ・1~nの和の公式を利用し大きい方から小さい方を引く(あるいは、式を作る)
- toro777777
- ベストアンサー率16% (43/257)
プログラム的にはforで回して初期値を整数1として 整数2までループさせて加算してやれば良いだけでしょ。
- tatsu99
- ベストアンサー率52% (391/751)
>自分でプログラムを書いてみますので訂正していただければ非常に助かります。 では、自分で書いたものを提示してください。
- silverbear
- ベストアンサー率25% (163/639)
プログラムを補足欄にでもどうぞ