从数据文件中查找最小值和最大值

时间:2012-09-22 03:52:40

标签: c input max min

我正在尝试编写一个简单的程序,它从数据文件中读取整数并输出最小值和最大值。输入文件的第一个整数将指示将读取多少个整数,然后将列出整数。

示例输入文件:

5 100 -25 42235 7 -1

这很简单,我不知道从哪里开始。我想我需要创建一个size =第一个整数的数组,然后在数组中增加我的位置并与最小/最大值进行比较。

我不确定用第一个整数声明数组的语法是什么,然后用剩余的整数填充数组,或者如果这是正确的方法。在创建数组之后,我应该没有问题,通过数组中的循环增加位置为min / max变量赋值。

2 个答案:

答案 0 :(得分:2)

您不需要数组。只需跟踪当前的最小值和最大值(它们从您读取的第一个数字开始)。读完每个数字后,如果它低于最小值,则变为新的最小值,如果它高于最大值,则变为最大值。

答案 1 :(得分: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