c尀c++ 这种数据格式的怎么求最大最小值

数据格式是txt如下:0 1 1138 28 28 415 62 3 1121 8 9 123 2 55 12 22311 522 3。。。...三个数代表的是索引,2个数一行代表的是坐标(x,y),求x,y的最大最小值存到结果文件txt:xmin,xmax,ymin,ymax
2026年09月23日 22:44
有2个网友回答
网友(1):

#include
#include
#include
void main()
{
FILE *fp;
float xy[500][2];
float xmax, xmin, ymax, ymin;
char read[100];
int n= 0, line= 0;

if( (fp= fopen("1.txt", "r"))==NULL )
{
puts("文件打开出错!");
exit(1);
}
while(!feof(fp))
{
fgets(read, 80, fp);
if( (strchr(read, ' ')+1) == strrchr(read, ' ') )
{
xy[line][0]= float(atof(read)); //x
xy[line][1]= float( atof( strchr(read, ' ') ) ); //y
line++;
}
}
fclose(fp);
xmax= xmin= xy[0][0];
ymax= ymin= xy[0][1];
for(n= 1; n < line; n++)
{
if(xmin > xy[n][0])
xmin= xy[n][0];
if(ymin > xy[n][1])
xmin= xy[n][1];
if(xmax < xy[n][0])
xmax= xy[n][0];
if(ymax < xy[n][1])
ymax= xy[n][1];
}
if( (fp= fopen("2.txt", "w+"))==NULL )
{
puts("文件打开出错!");
exit(1);
}
fprintf(fp, "LINE: %d\nxmax= %f, xmin= %f, ymax= %f, ymin= %f", line, xmax, xmin, ymax, ymin);
fclose(fp);
printf("LINE: %d\nxmax= %f, xmin= %f, ymax= %f, ymin= %f\n", line, xmax, xmin, ymax, ymin);
}

网友(2):

x,y的范围如何啊?有负数吗?32位够吗? 都是整数?
明确了就可以了