如何用C语言读取TXT格式文件中的数据进行运算
比方说一个txt文件中的内容是:5186741.02.04.05.07.83.55.00.41.00.4(一共三组数据,5代表是边形,12867是这个多边形编号,后面是各...
比方说一个txt文件中的内容是:
5 18674 1.0 2.0 4.0 5.0 7.8 3.5 5.0 0.4 1.0 0.4
(一共三组数据,5代表是边形,12867是这个多边形编号, 后面是各个顶点的坐标 x y。)
求大神帮我写一下code读取txt里多边形的顶点坐标然后算面积
多边形面积公式是 , 1/2 *SUM( x[n]*y[n+1] - x[n+1]*y[n] ) n从0到顶点数
万分感谢! 展开
5 18674 1.0 2.0 4.0 5.0 7.8 3.5 5.0 0.4 1.0 0.4
(一共三组数据,5代表是边形,12867是这个多边形编号, 后面是各个顶点的坐标 x y。)
求大神帮我写一下code读取txt里多边形的顶点坐标然后算面积
多边形面积公式是 , 1/2 *SUM( x[n]*y[n+1] - x[n+1]*y[n] ) n从0到顶点数
万分感谢! 展开
1个回答
展开全部
#include <stdio.h>
#include <malloc.h>
void main()
{
int n, no, i;
FILE * fp = fopen("data.txt", "r);
float * x, *y, result;
if(fp == NULL) return;
fscanf(fp, "%d %d", &n, &no);
x = (float *)malloc(n * sizeof(float);
y = (float *)malloc(n * sizeof(float);
for(i = 0; i<n ; i++) fscanf("%f %f", x + i, y + i);
result = 0.0f;
for(i=0; i<n-1); i++) result += 0.5f * (x[i] * y[i+1] - x[i+1] * y[i]);
printf("%d result is %f\n", no, result);
free(x);
free(y);
fclose(fp);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询