我正在尝试编写一个简单的程序,它从数据文件中读取整数并输出最小值和最大值。输入文件的第一个整数将指示将读取多少个整数,然后将列出整数。
示例输入文件:
5 100 -25 42235 7 -1
这很简单,我不知道从哪里开始。我想我需要创建一个size =第一个整数的数组,然后在数组中增加我的位置并与最小/最大值进行比较。
我不确定用第一个整数声明数组的语法是什么,然后用剩余的整数填充数组,或者如果这是正确的方法。在创建数组之后,我应该没有问题,通过数组中的循环增加位置为min / max变量赋值。
答案 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