| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6615 人关注过本帖
标题:给定三个坐标,判断是否可以组成一个三角形,是就求出面积和周长
只看楼主 加入收藏
鲤鱼爱美丽
Rank: 8Rank: 8
来 自:冥界
等 级:蝙蝠侠
威 望:5
帖 子:288
专家分:843
注 册:2015-4-8
收藏
得分:0 
推荐阅读置顶帖(望新手借鉴),这样会好点

代码代码,带着的石头码!!!
2015-06-11 17:17
TRUTH_2015
Rank: 2
等 级:论坛游民
帖 子:37
专家分:20
注 册:2015-5-13
收藏
得分:0 
#include"stdio.h"
#include"math.h"
int main()
{
double x1,y1,x2,y2,x3,y3;
double a,b,c,p;
scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
c=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
p=(a+b+c)/2;
if(a+b>c && a+c>b && b+c>a)
   printf("L = %.2f, A = %.2f",a+b+c,sqrt(p*(p-a)*(p-b)*(p-c)));
else
   printf("Impossible\n");
return 0;
}
2015-06-11 17:45
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:0 
回复 12楼 TRUTH_2015
换成double是应该的,但仍然不是正确的,正确的做法是:在判断上就不应该使用浮点数。

程序代码:
#include <stdio.h>
#include <math.h>

bool foo( int x1, int y1, int x2, int y2, int x3, int y3, double* c, double* s )
{
    if( (x2-x1)*(y3-y1) == (x3-x1)*(y2-y1) )
        return false;

    *c = sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+0.0) + sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)+0.0) + sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3)+0.0);
    *s = 0.5 * fabs( (x2-x1)*(y3-y1)-(x3-x1)*(y2-y1)+0.0 );
    return true;
}

int main( void )
{
    double c, s;

    if( !foo(0,0, 1,3, 3,2, &c,&s) )
        printf( "%s\n", "Impossible" );
    else
        printf( "L = %.2f, A = %.2f\n", c, s );

    if( !foo(0,0, 1,1, 2,2, &c,&s) )
        printf( "%s\n", "Impossible" );
    else
        printf( "L = %.2f, A = %.2f\n", c, s );

    return 0;
}

2015-06-12 08:23
鱼游海底
Rank: 1
来 自:中国
等 级:新手上路
帖 子:132
专家分:2
注 册:2015-4-16
收藏
得分:0 
回复 11楼 鲤鱼爱美丽
好搭!
2015-06-12 20:30
鱼游海底
Rank: 1
来 自:中国
等 级:新手上路
帖 子:132
专家分:2
注 册:2015-4-16
收藏
得分:0 
回复 14楼 边小白
那我用两边之和是否大于第三边应该也可以判断啊?而且为后面求周长面积做伏笔!
2015-06-12 20:31
鱼游海底
Rank: 1
来 自:中国
等 级:新手上路
帖 子:132
专家分:2
注 册:2015-4-16
收藏
得分:0 
回复 10楼 hjx1120
机智如我,我如机智!
2015-06-12 20:33
鱼游海底
Rank: 1
来 自:中国
等 级:新手上路
帖 子:132
专家分:2
注 册:2015-4-16
收藏
得分:0 
回复 13楼 rjsp
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

。。。
2015-06-12 20:37
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:0 
回复 18楼 鱼游海底
你想说什么就直说,不要贴张图打哑谜,我真猜不出。
2015-06-12 23:02
鱼游海底
Rank: 1
来 自:中国
等 级:新手上路
帖 子:132
专家分:2
注 册:2015-4-16
收藏
得分:0 
回复 19楼 rjsp
为什么把你的代码直接复制到GCC(基于linux的编译软件)上面进行编译运行后出现了编译错误呢?(这是一个在网站上面提交的无法看到错误在哪里?)
2015-06-15 10:00
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:0 
你到底是将我的代码在gcc中编译,还是直接提交到网站上?

如果是在网站上,那我不知道。而且我这段代码没有输入,你应该阅读是foo函数;
如果是在gcc上编译,代码加#include <stdbool.h>,编译参数加 -std=c99 或 -std=c11
2015-06-15 10:23
快速回复:给定三个坐标,判断是否可以组成一个三角形,是就求出面积和周长
数据加载中...
 
   



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

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