标题:判断三角形
只看楼主
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
以下是引用pycansi在2013-11-5 00:34:38的发言:

问题: 在平面上,给出3个坐标,判断是否能构成三角形
思路: 只要3个点不在一条线上就OK啦
算法: if ((y2-y1)/(x2-x1) == (y3-y2)/(x3-x2))
 
版主大大,可否
为了一系列原因,起码应该移位变形为 乘法
2013-11-05 09:29
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
得分:0 
恩,分母为0未考虑……
被rjsp版主给捷足先登了……
这100分受之有愧
我提议: 平分


莫问前尘有愧,但求今生无悔
2013-11-05 09:56
不知道啊
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-11-5
得分:0 
if(a+b>c&&a+c>b&&b+c>a)
2013-11-05 11:49
不知道啊
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-11-5
得分:0 
楼主的前几句是什么意思?勾股定理?你到底要判断什么呢?判断三角形只要输入3条边不就行啦,还要输入6个数干什么?真心看不懂?我认为只要if语句就行了
2013-11-05 12:07
亢奋青年
Rank: 2
来 自:遵义市
等 级:论坛游民
帖 子:64
专家分:28
注 册:2013-11-2
得分:0 
if(a+b>c||a+c>b||b+c>a)改成 if(a+b>c&&a+c>b&&b+c>a) .其实没必要那么麻烦,直接用两边之和大于。。。。。就行了!

my time,my chips.
2013-11-05 13:23
古道风
Rank: 2
等 级:论坛游民
帖 子:12
专家分:17
注 册:2013-9-16
得分:0 
#include<stdio.h>
#include<math.h>
int main()
{
    int x1,y1,x2,y2,x3,y3;
    int a,b;
    while(scanf("%d %d %d %d %d %d",&x1,&y1,&x2,&y2,&x3,&y3)!=EOF)
    {
        a=(x1-x2)*(y1-y3);
        b=(y1-y2)*(x1-x3);
        if(a!=b)
        {
            printf("good\n");
        }
        else
        {
            printf("sorry\n");
        }
    }
    return 0;
}
2013-11-06 12:06
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
回复 22楼 pycansi
rjsp那不叫捷足先登,他只是在提醒你。这样吧,你俩我每人送100好了。鼓励你继续努力,鼓励rjsp多参与问题解答!

至于楼上这位兄弟,这次你来晚了,不过以后还有机会。遇到有意思的问题我还会悬赏的。

重剑无锋,大巧不工
2013-11-06 14:09
chenwei926fl
Rank: 1
来 自:宜昌
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-4-4
得分:0 
你想得太复杂了
#include<stdio.h>
int main()
{
    float a,b,c;
    scanf("%f%f%f",&a,&b,&c);
    if((a+b>c)&&(a+c>b)&&(b+c>a))
    {
        printf("good\n");
    }
    else
    {
        printf("sorry\n");
    }
    return 0;
}

千百度
2013-11-06 20:12
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
得分:0 
恩,继续努力


莫问前尘有愧,但求今生无悔
2013-11-06 23:36
离水的鱼
Rank: 1
等 级:新手上路
帖 子:2
专家分:4
注 册:2013-11-7
得分:0 
不知道现在晚了没,if(a+b>c||a+c>b||b+c>a)改成 if(a+b>c&&a+c>b&&b+c>a),然后在检查一下你输入的数字吧,注意数字之间的空格符
2013-11-07 10:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-422981-1-1.html




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

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