#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define MAX_DATA_LINE 100 // 允许的最大输入数据组数,默认为100
int main()
{
double data[MAX_DATA_LINE][3]; // 保存输入的数据
double result[MAX_DATA_LINE-1]; // 保存计算所得弯曲度
double max_result; // 保存最大弯曲度
int m = 0; // 保存输入数据的组数
while(1)
{
printf("请输入数据组数:");
scanf("%d",&m);
if(m <= 1)
{
printf("数据组数不符合要求,无法计算弯曲度!\n");
}
else if(m > MAX_DATA_LINE)
{
printf("数据组数超出预定数据组数!\n");
}
else
break;
}
// 数据的输入
printf("请输入数据:\n");
int i;
for(i = 0;i < m;i++)
{
scanf("%f%f%f",&data[i][0],&data[i][1],&data[i][2]);
}
double x_tmp,y_tmp,z_tmp;
// 弯曲度的计算
for(i = 0;i < m-1;i++)
{
x_tmp = data[i][0] - data[i+1][0];
y_tmp = data[i][1] - data[i+1][1];
z_tmp = data[i][2] - data[i+1][2];
result[i] = sqrt((x_tmp*x_tmp + y_tmp*y_tmp) / (x_tmp*x_tmp + y_tmp*y_tmp + z_tmp*z_tmp));
}
// 计算最大弯曲度
max_result = result[0];
for(i = 1;i < m-1;i++)
{
if(result[i] > max_result)
max_result = result[i];
}
// 结果输出
printf("计算所得弯曲度如下:\n");
for(i = 0;i < m-1;i++)
{
printf("%f\n",result[i]);
}
printf("最大弯曲度为:%f\n",max_result);
system("pause");
return 0;
}
#include<stdio.h>
#include<math.h>
#define N 100
void main()
{
double x[N],y[N],z[N],d[N],max;
int i,m;
printf("input m:");
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%lf%lf%lf",&x[i],&y[i],&z[i]);
for(i=0;i<m-1;i++)
{
d[i]=sqrt((x[i]-x[i+1])*(x[i]-x[i+1])+(y[i]-y[i+1])*(y[i]-y[i+1]))/sqrt((x[i]-x[i+1])*(x[i]-x[i+1])+(y[i]-y[i+1])*(y[i]-y[i+1])+(z[i]-z[i+1])*(z[i]-z[i+1]));
if(i==0) max =d[0];
else if(max<d[i])
{
max = d[i];
}
}
for(i=0;i<m-1;i++)
printf("%lf ",d[i]);
printf("\nmax=%lf\n",max);
}
我用的是win8系统,VC装不了,能不能把exe程序发给我?