以下の青字で示されたプログラムを mule で打ち込み、"algo1.c" というファイル名で保存し、コンパイルし、実行せよ。
コンパイル:orion:~/algo/list> cc algo1.c -o algo1
/* ... */ で囲まれたコメント文は省略しても良い。これ以下で提示される例題も同様に作成せよ。
/* algo1.c (p.22)
*
* 最大値・最小値の解法I
*/
/* void: 「空」の意味
* NULL==0: 「空」の意味
* EOF: ファイル終端(End Of File)の意味
* FILE: ファイルストリーム宣言=ファイルの中身の種々の属性を表す
*/
#include <stdio.h>
int main(void)
{
int x,max,min;
FILE *fin;
/* 読み込み用のファイルを開く */
if((fin=fopen("algo1.dat","r"))==NULL) {
printf("Cannot open %s\n","algo1.dat");
exit(1);
}
/* ファイルからデータを読み込む */
if(fscanf(fin,"%d",&x) == EOF) {
fclose(fin);
return 0;
}
/* 初期条件 */
max=min=x;
/* データが尽きるまで読み込み、maxとminに振り分ける */
while (fscanf(fin,"%d",&x) != EOF) {
if (x > max)
max=x;
else if (x < min)
min=x;
}
/* 最終結果を表示 */
printf("Maximum = %d\n",max);
printf("Minimum = %d\n",min);
fclose(fin);
return 0;
}
"algo1.dat" というファイル名で以下の8行のデータを入れたファイルを作成せよ。
このデータ・ファイルは上記のプログラムで読みこまれる。
12
21
75
15
26
47
66
34