我正在編寫一個程序,使用C只是從包含大約500個浮點數(例如54.54)的輸入文件中查找最大和最小值。我可以讓程序運行,但輸出說我的最小值是0,最大值是54.88,這是文件中的第一個數字。 這是我到目前爲止。從C中的文件查找最大和最小浮點數
#include <stdio.h>
int main(int argc, const char * argv[])
{
FILE * fp;
fp=fopen("file.txt","r");
if (fp==NULL)
{
printf("Failed to open");
}
float i;
float min ;
float max ;
{
fscanf(fp, "%f", &i);
if (i < min)
min = i;
if (i > max)
max = i;
}
printf("Data range is: %f %f \n", min, max);
return 0;
}
也許你應該考慮循環遍歷文件,而不是隻讀第一個數字?可能用一個while循環直到文件結束? – 2013-03-13 04:42:22
@殭屍:你的評論是不明確的。這可能意味着「沒有;事實上,浮動數據被默認初始化爲零」,或者它可能意味着「浮動數據庫默認從不初始化爲零」。後者對於自動和動態分配的「浮點」變量更爲準確;前者更接近靜態和外部變量的準確性。我懷疑已經對評論做了一些清理工作,所以最好刪除你的評論(並且讓我知道刪除這個評論)。 – 2013-03-13 05:30:06
@JonathanLeffler我的意思是花車總是0初始化。 ACB在發佈該評論時發表了評論 - 這表示他必須初始化浮點值,而我說不 - 不需要:-) – 2013-03-13 05:31:32