oh470 2022-08-19 10:29 采纳率: 55.6%
浏览 85
已结题

C语言编写一个能计算平面上两点间距离的程序。

问题遇到的现象和发生背景

C语言编写一个能计算平面上两点间距离的程序。
相关知识
为了完成本关任务,你需要掌握如下知识:
平面上点与点之间的距离
平面上有两点A(a,c)、B(b,d),则两点的距离为 L² = (b-a)² + (d-c)²

EOF,为End Of File的缩写,通常在文本的最后存在此字符表示资料结束。 C标准函数库中表示文件结束符。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。 在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0127,不可能出现-1,因此可以用EOF作为文件结束标志。
编程要求
给定平面上的若干个点,设最多不超过10个点,求出各个点之间的距离。每个点用一对整数坐标表示,键盘输入若干对点的坐标,限定坐标在[0,0][10,10]内,输出点与点之间的距离。 点的实现可以用一个结构体来实现,例如: struct point{int x,int y} 注意:如果输入的点数量或点坐标超出了范围,则提示“out of range, try again!”,同时,请注意输出格式。

我的解答思路和尝试过的方法

#include<stdio.h>
#include<stdlib.h>
#define EOF -1
struct point
{
int x,y;
};

int paic(struct point s[],int sum)
{
int i;
if(sum>10)
{
printf("out of range,try again!");
return 0;
}
for(i=0;i<sum;i++)
if(s[i].x>10 || s[i].y>10)
{
printf("out of range,try again!");
return 0;
break;
}
return 1;
}

int main()
{
int i,j,k,sum=0;
double len;
struct point p[12];

while(scanf("%d",&p[i].x)!=EOF&&scanf("%d",&p[i].y)!=EOF)
{
sum++;
}
malloc((strlen(p)+1)*sizeof(struct point));
j= paic(p,sum);
while(j)
for(k=0;k<sum;k++)
{
    for(i=0;i<sum;i++)
    {
        len=sqrt((p[k].x-p[i].x)*(p[k].x-p[i].x)+(p[k].y-p[i].y)* (p[k].y-p[i].y));
        if(i)
        printf("%.1f",len);
        else printf(" %.1f",len);
    }
    printf("\0");
}
return 0;

}

我想要达到的结果

测试输入:
2 3
1 7
4 6
9 3
预期输出:
0.0 4.1 3.6 7.0
4.1 0.0 3.2 8.9
3.6 3.2 0.0 5.8
7.0 8.9 5.8 0.0
测试输入:
12 2
2 12
预期输出:
out of range, try again!
测试输入:
0 0
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 0
预期输出:
out of range, try again!

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-08-19 10:41
    关注

    你代码自测有啥问题吗?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月19日
  • 已采纳回答 8月19日
  • 创建了问题 8月19日

悬赏问题

  • ¥15 程序实在不会写,要秃了
  • ¥15 pycharm导入不了自己的包
  • ¥15 C#.net通过内网url地址获取文件并下载问题,浏览器postman可以正常下载,用程序不行
  • ¥15 本人本科机械,目前研一。没有深度学习基础,目前对研究生课题一片迷茫,请教各位!
  • ¥15 关于R语言单因素与多因素线性回归的平均值
  • ¥15 服务器清除BIOS之后引导不了
  • ¥15 CPLEX用OPL编写的混合整数线性优化问题。
  • ¥15 可以用EasyConnect连接实验室内网,但无法连接内网才能访问的服务器,为什么?
  • ¥15 前端预览docx文件,文件从后端传送过来。
  • ¥15 层次聚类和蛋白质相似度