【練習問題】入力値間の整数を全て足して、表示する【C】

※本サイトはアフィリエイト広告を利用しています。
アイキャッチIT技術
この記事は約2分で読めます。
スポンサーリンク

問題文

キーボードから整数値を2つ読み込む。入力された値のうち、小さい数から大きい数までの全整数を足した値を表示するプログラム

【表示例】

二つの整数を入力してください。

整数a:46

整数b:40

40以上46以下の全整数の和は301です。

※赤文字はユーザに入力を求める箇所、青文字は、入力により表示が変動する箇所です。

プログラムの手順

  1. int型の変数na, nb, wa, min, max, iを宣言する
  2. wa を 0 で初期化する
  3. 入力を求めるメッセージを表示する
  4. 整数aとbを入力させ、それぞれna, nbに代入する
  5. naとnbの大小を比較し、大きい方をmax、小さい方をminに代入する
  6. for(i = min; i <= max, i++) でループさせる
  7. ループ終了後、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のどちらに大きい数を入力されても、対応できるようにプログラムを組むのが、今回のミソだと思います。

タイトルとURLをコピーしました