用C语言编程把下面的给编程出来,谢谢大神!

2025-03-11 08:16:17
推荐回答(1个)
回答1:

程序在添加注释前是编译通过的,我的环境是TC2.0,如果有问题请反馈

#include
#include
/*计算两点距离的函数*/
double d_func(double a1, double a2, double b1, double b2){
return 111.12*cos(1.0/(sin(a1)*sin(b1)+cos(a1)*cos(b1)*(b2-a2)));
}

void main(){
double a[4][2],b[2],d[4],t;
int i,j,k;
/*输入B点的坐标*/
printf("B:");scanf("%lf%lf",&b[0],&b[1]);

/*一次输入A1~A4四个点的坐标,同时计算四个举例d1~d4*/
for (i=1;i<=4;i++){
printf("A%d:",i);scanf("%lf%lf",&a[i][0],&a[i][1]);
d[i]=d_func(a[i][1],a[i][0],b[1],b[0]);
}

/*对四个距离d1~d4进行排序*/
for (i=1;i<=3;i++){
k=i;
for (j=i+1;j<=4;j++) if (d[j] if (k!=i) {t=d[k];d[k]=d[i];d[i]=t;}
}

/*输出排序后的四个数值*/
for (i=1;i<=4;i++) printf("%lf %c ",d[i],i==4?' ':'<');
printf("\n");
}