| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4830 人关注过本帖
标题:计算线段的长度
只看楼主 加入收藏
温柔
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2019-10-28
结帖率:60%
收藏
 问题点数:0 回复次数:3 
计算线段的长度
【题目描述】
已知线段的两个端点的坐标A(Xa,Ya),B(Xb,Yb),求线段AB的长度,保留到小数点后3位。

【输入】
第一行是两个实数Xa,Ya,即A的坐标。

第二行是两个实数Xb,Yb,即B的坐标。

输入中所有实数的绝对值均不超过10000。

【输出】
一个实数,即线段AB的长度,保留到小数点后3位。

【输入样例】
1 1
2 2
【输出样例】
1.414
搜索更多相关主题的帖子: 线段 实数 计算 输入 长度 
2019-10-28 21:35
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:566
专家分:3690
注 册:2019-7-29
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <math.h>
int main()
{
    double a1,b1,a2,b2,y;
    scanf("%lf %lf",&a1,&b1);
    scanf("%lf %lf",&a2,&b2);
    y=sqrt(pow(a2-a1,2)+pow(b2-b1,2));
    printf("%.3lf",y);
    return 0;
}

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2019-10-28 21:47
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<math.h>
int main()
{
int xa,ya;
int xb,yb;
printf("输入A的坐标"); 
scanf("%d%d",&xa,&ya);
printf("输入B的坐标"); 
scanf("%d%d",&xb,&yb);
double len;
len=sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya-yb));
printf("\n%.3f\n",len);
return 0;
}
2019-10-31 16:01
Mr_doge
Rank: 5Rank: 5
等 级:贵宾
威 望:10
帖 子:159
专家分:385
注 册:2018-6-28
收藏
得分:0 
二楼的代码虽然看着有点吃力,但是是正确的
三楼的代码,建议三楼自己编译测试下
1、输入为实数,也即是说,不排除输入小数的可能性,虽然接收输入不要求涵盖实数集,但是应当保证小数和整数都能输入
2、printf()里的%0.3f参数针对的是float变量的打印输出,对于double变量,应使用如二楼那般的%0.3lf参数,否则会因为变量类型错误而输出0
3、短的代码没看出来,但是当代码达到上百行以上时,完全没有缩进格式的代码,其阅读难道会大幅增加,建议注意格式

不论美观与否,效率快慢,程序首先需要保证的是其正确性,其次再考虑别的

最后吐槽一下
int main()
{}
是C++的主函数写法
int main(void)
{}
int main(int arc,char *arg[])
{}
才是C仅有的两种标准写法
虽然因为编译器向前兼容以及编译器兼容C++,不会对C++写法报错,但是还是区分开来比较好
2019-11-02 08:39
快速回复:计算线段的长度
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012836 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved