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 回答