| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 867 人关注过本帖, 1 人收藏
标题:【求助】判别三角形的程序!运行后得不到预期的结果!
取消只看楼主 加入收藏
mandown1991
Rank: 4
等 级:业余侠客
帖 子:262
专家分:252
注 册:2011-3-2
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:9 
【求助】判别三角形的程序!运行后得不到预期的结果!
各位高手,小弟今天刚学C语言,编了个判别三角形的程序,但是运行后得不到预期的结果,这是怎么回事?请指点!谢谢!
#include <stdio.h>
int main(void)
{
    int a=0,b=0,c=0;
    printf("请输入任意三条线段,每个数之间用空格分隔:");
    scanf("%d %d %d",&a,&b,&c);
    if((a+b<=c)||(a+c<=b)||(b+c<=a))
        printf("不能构成三角形!\n");
    else
    {
        if((a==c)||(a==b)||(b==c))
        {
            if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
                printf("是等腰直角三角形!\n");
            else
            {
                if(a==b==c)
                    printf("是等边三角形!\n");
                else
                    printf("是等腰三角形!\n");
            }
        }
        else
        {
            if((a*a+c*c==b*b)||(b*b+c*c==a*a)||(b*b+c*c==a*a))
                printf("是直角三角形!\n");
            else
                printf("是一般三角形!\n");
        }
    }
    return 0;
}
补充一下:比如输入3 4 5三个数,得到的答案却是一般三角形;输入1 1 2三个数,得到的答案却是一般三角形······


[ 本帖最后由 mandown1991 于 2011-3-2 18:00 编辑 ]
搜索更多相关主题的帖子: 三角形 C语言 include 
2011-03-02 17:03
mandown1991
Rank: 4
等 级:业余侠客
帖 子:262
专家分:252
注 册:2011-3-2
收藏
得分:0 
回复 2楼 pcbaichi
我觉得应该是没错的,我不知道是不是逻辑上的问题!
2011-03-02 17:10
mandown1991
Rank: 4
等 级:业余侠客
帖 子:262
专家分:252
注 册:2011-3-2
收藏
得分:0 
回复 5楼 pcbaichi
好的,谢谢!
2011-03-02 17:22
mandown1991
Rank: 4
等 级:业余侠客
帖 子:262
专家分:252
注 册:2011-3-2
收藏
得分:0 
找到错误了,正确的程序如下:
#include <stdio.h>
int main(void)
{
    double a=0,b=0,c=0;
    printf("请输入任意三条线段,每个数之间用空格分隔:");
    scanf("%lf%lf%lf",&a,&b,&c);
    if((a+b<=c)||(a+c<=b)||(b+c<=a)||(a-b>=c)||(a-c>=b)||(b-c>=a))
        printf("不能构成三角形!\n");
    else
    {
        if((a==c)||(a==b)||(b==c))
        {
            if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
                printf("是等腰直角三角形!\n");
            else
            {
                if((a==c)&&(a==b)&&(b==c))
                    printf("是等边三角形!\n");
                else
                    printf("是等腰三角形!\n");
            }
        }
        else
        {
            if((a*a+c*c==b*b)||(b*b+c*c==a*a)||(a*a+b*b==c*c))
                printf("是直角三角形!\n");
            else
                printf("是一般三角形!\n");
        }
    }
    return 0;
}
还是要谢谢各位!
2011-03-02 18:49
mandown1991
Rank: 4
等 级:业余侠客
帖 子:262
专家分:252
注 册:2011-3-2
收藏
得分:0 
回复 5楼 pcbaichi
谢谢,我找到错误了!
2011-03-02 18:50
mandown1991
Rank: 4
等 级:业余侠客
帖 子:262
专家分:252
注 册:2011-3-2
收藏
得分:0 
呵呵,多谢各位指点!
2011-03-02 22:56
mandown1991
Rank: 4
等 级:业余侠客
帖 子:262
专家分:252
注 册:2011-3-2
收藏
得分:0 
回复 11楼 pcbaichi
嗯嗯,谢谢!
2011-03-02 22:57
mandown1991
Rank: 4
等 级:业余侠客
帖 子:262
专家分:252
注 册:2011-3-2
收藏
得分:0 
回复 10楼 qq1023569223
呵呵,偶然间发现的,太疏忽了,不过也谢谢你啊!
2011-03-02 23:01
mandown1991
Rank: 4
等 级:业余侠客
帖 子:262
专家分:252
注 册:2011-3-2
收藏
得分:0 
回复 17楼 whyyou
我的那个错误的程序是可以运行的,只是结果不正常而已。
2011-03-02 23:35
mandown1991
Rank: 4
等 级:业余侠客
帖 子:262
专家分:252
注 册:2011-3-2
收藏
得分:0 
回复 19楼 vfdff
是啊,可以啊,但是3 4 5就不行了!
2011-03-03 22:59
快速回复:【求助】判别三角形的程序!运行后得不到预期的结果!
数据加载中...
 
   



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

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