C语言输入四个点,从起点(0.0)依次到点1、2、3、4,输出总长的最短距离及各个点的顺序(距离可为斜线)
答案:1 悬赏:10 手机版
解决时间 2021-02-08 13:00
- 提问者网友:放下
- 2021-02-08 07:50
C语言输入四个点,从起点(0.0)依次到点1、2、3、4,输出总长的最短距离及各个点的顺序(距离可为斜线)
最佳答案
- 五星知识达人网友:孤独入客枕
- 2021-02-08 08:04
#include
#include
#include
#include
#define N 4
int main(void) {
int i;
char str[1024];
float a[N+1][2] = {0};
float sum=0,min=FLT_MAX;
float alphaX, alphaY,dist=0;
printf("请输入4个坐标点x,y:\n");
for(i=1; i<5; i++) {
scanf("%f,%f",&a[i][0],&a[i][1]);
}
for(i=1; i<5; i++) {
alphaX = a[i][0] - a[i -1][0];
alphaY = a[i][1] - a[i -1][1];
dist=sqrt(alphaX*alphaX+alphaY*alphaY);
printf("%6.2f,%6.2f ====>%6.2f,%6.2f, 距离=%6.2f\n",a[i-1][0],a[i-1][0],a[i][0],a[i][1],dist);
if(min>dist) min = dist;
sum += dist;
}
printf("\n");
printf("最短距离=%6.2f\n",min);
printf("距离总和=%6.2f\n",sum);
getchar();
getchar();
return 0;
}
#include
#include
#include
#define N 4
int main(void) {
int i;
char str[1024];
float a[N+1][2] = {0};
float sum=0,min=FLT_MAX;
float alphaX, alphaY,dist=0;
printf("请输入4个坐标点x,y:\n");
for(i=1; i<5; i++) {
scanf("%f,%f",&a[i][0],&a[i][1]);
}
for(i=1; i<5; i++) {
alphaX = a[i][0] - a[i -1][0];
alphaY = a[i][1] - a[i -1][1];
dist=sqrt(alphaX*alphaX+alphaY*alphaY);
printf("%6.2f,%6.2f ====>%6.2f,%6.2f, 距离=%6.2f\n",a[i-1][0],a[i-1][0],a[i][0],a[i][1],dist);
if(min>dist) min = dist;
sum += dist;
}
printf("\n");
printf("最短距离=%6.2f\n",min);
printf("距离总和=%6.2f\n",sum);
getchar();
getchar();
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯