1

データ ファイルから整数を読み取り、最小値と最大値を出力する簡単なプログラムを作成しようとしています。入力ファイルの最初の整数は、さらにいくつの整数が読み取られるかを示し、次に整数がリストされます。

入力ファイルの例:

5 100 -25 42235 7 -1

これと同じくらい簡単ですが、どこから始めればよいかわかりません。サイズ = 最初の整数の配列を作成し、配列内の位置をインクリメントして最小/最大値と比較する必要があると思います。

最初の整数で配列を宣言し、残りの整数で配列を埋める構文がどうなるか、またはそれが正しいアプローチであるかどうかはわかりません。配列を作成した後、配列を介して位置を増やすループを使用して、最小/最大変数に値を割り当てることに問題はありません。

4

2 に答える 2

2

配列は必要ありません。現在の最小値と最大値を追跡するだけです (最初に読み取った数値から始まります)。それぞれの数値を読み取った後、最小値より低い場合は新しい最小値になり、最大値より高い場合は最大値になります。

于 2012-09-22T03:57:12.507 に答える
0

データを格納するために配列を使用する必要はありません。ファイルから受け取ったデータから最小値と最大値を見つけるだけです。

long lMin = 0, lMax = 0;
int nCount;
long lNo;
// open file
fscanf( file, "%d", &nCount );
for( int i = 0; i < nCount; i++ )
{
   fscanf( file, "%ld", &lNo );
   if( lNo > lMax )
       lMax = lNo;
   if( lNo < lMin )
       lMin = lNo;
}
printf(" Min = %ld Max = %ld\n", lMin, lMax );
// close file
于 2012-09-22T05:18:10.353 に答える