<課題>
以下に示したものは、交換分類法のプログラムです。このプログラムは各機能がmain関数の中で順次行われています。
このプログラム中の、(1)データ読み込み、(2)データの交換、(3)データの出力、の部分を分離し、関数化しなさい。
<仕様><プログラムリスト>
- 関数化にあたっては、大域(グローバル)変数を利用しないで作成する。
- 主要な変数、および、各関数には、必ずコメントを入れる。
- 関数のプロトタイプ宣言を必ず入れる。
#include <stdio.h> #define Max_data 100 /* データ数の上限*/ int main( void ) { int i, j, tmp, input_data, count, data[Max_data]; scanf("%d", &input_data); count = 0; while (input_data > 0) { data[count] = input_data; count++; scanf("%d", &input_data); } for (i = 0; i < count - 1; i++) { for (j = i + 1; j < count; j++) { if (data[i] > data[j]) { tmp = data[i]; data[i] = data[j]; data[j] = tmp; } } } printf("データの分類終了\n"); for (i = 0; i < count; i++) { printf("%d\n", data[i]); } }