【C言語】二つの整数間の全整数を合計する

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より大きければループを繰り返します。

今回紹介したのはあくまでも一例です。
他にもやり方は沢山あるので是非探してみましょう!

コメント