2つの整数を読み込んで、それらの間の全整数の合計を表示させるプログラムを作成します。
2つの整数を含んだ合計です。
プログラムの実行はpaiza io を使用するとトライ&エラーができるのでおすすめです。
>>paiza io
サンプルコード
#include <stdio.h>
int main(void){
int a, b, tmp, sum=0;
scanf("%d%d", &a, &b);
if(a > b){ /*aを小さい方の値にする*/
tmp = a;
a = b;
b = tmp;
}
printf("%dから%dの全整数の合計:", a, b);
tmp = b - a; /* ループ回数を決める */
do{ /* ループ本体 */
sum = sum + a;
a++;
tmp--;
}while(tmp >= 0);
printf("%d", sum);
return 0;
}
実行例
入力:1 10
出力:1から10の間の全整数の合計:55
解説
まずは変数を宣言します。この時sumの値は0にしないと変な値が入ったり、上手く動作しなかったりします。
次にscanf関数でaとbに入力値を入れます。
aの方を小さい方にした方が都合がいいのでifでaがbよりも大きい時、aとbの値を入れ替えるプログラムです。
直接入れ替えることはできないので一旦tmpにaの値を格納してます。
次にtmpにaとbの差を入れます。
後は条件ループで
sumにaの値を加えます。
そしたらaに1を加えて次の整数とします。
一回分ループしたのでループ回数を引きます
whileでループ回数が0より大きければループを繰り返します。
今回紹介したのはあくまでも一例です。
他にもやり方は沢山あるので是非探してみましょう!
コメント