問題文
キーボードから整数値を2つ読み込む。入力された値のうち、小さい数から大きい数までの全整数を足した値を表示するプログラム
※赤文字はユーザに入力を求める箇所、青文字は、入力により表示が変動する箇所です。
プログラムの手順
- int型の変数na, nb, wa, min, max, iを宣言する
- wa を 0 で初期化する
- 入力を求めるメッセージを表示する
- 整数aとbを入力させ、それぞれna, nbに代入する
- naとnbの大小を比較し、大きい方をmax、小さい方をminに代入する
- for(i = min; i <= max, i++) でループさせる
- ループ終了後、waを表示する
サンプルプログラム
#include <stdio.h>
int main(void)
{
int na, nb, min, max, wa, i;
wa = 0;
puts("二つの整数を入力してください。");
printf("整数a:");
scanf("%d", &na);
printf("整数b:");
scanf("%d", &nb);
if (na > nb) {
max = na;
min = nb;
}
else {
max = nb;
min = na;
}
for (i = min; i <= max; i++) {
wa += i;
}
printf("%d以上%d以下の全整数の和は%dです。", min, max, wa);
return 0;
}
うおな
整数aと整数bのどちらに大きい数を入力されても、対応できるようにプログラムを組むのが、今回のミソだと思います。