| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 777 人关注过本帖
标题:求该程序的解答
只看楼主 加入收藏
HX2236
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-10-24
收藏
 问题点数:0 回复次数:2 
求该程序的解答
#include <stdio.h>
#include <math.h>
int main()
{
    float a,b,c;
    printf("请输入三条线段长度\n");
    scanf("%f%f%f",&a,&b,&c);
    if(a+b>c&&a+c>b&&b+c>a)
        {
            if(a==b&&b==c&&a==c)
            printf("等边三角形\n");
            else
            if(a==b||a==c||b==c)
            printf("等腰三角形\n");
            else
            if(a==b||a==c||b==c&&a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
            printf("等腰直角三角形\n");
            else
            if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
            printf("直角三角形\n");
            else printf("一般三角形\n");
        }     
    else printf("不是三角形\n");
}

已经知道这个编程,求加入循环语句,让其一次性输入不同的几条边,可以输出所有的三角形种类
搜索更多相关主题的帖子: 输入 || include 三角形 printf 
2019-10-24 10:14
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
先不说循环了,你这代码本身就有错误
            else if(a==b||a==c||b==c)
                printf("等腰三角形\n");
            else if(a==b||a==c||b==c&&a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
                printf("等腰直角三角形\n");
代码永远到不了 printf("等腰直角三角形\n");
2019-10-24 10:23
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
这里总的来说,有两个问题存在:
   1:从编程方面来看,a==b||a==c||b==c&&a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a这里的&&和||的优先级不一样,&&高于||,所以要这样写才对:
         (a==b||a==c||b==c)&&(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
   2:从数学方面来看,等腰直角三角形的边,一定(至少)有一条边是无理数。比如1和1和根号2.只有这样才会出现等腰直角三角形。这个无理数,编程时,是不好输入的。
收到的鲜花
  • rjsp2019-10-24 13:01 送鲜花  5朵  
2019-10-24 11:29
快速回复:求该程序的解答
数据加载中...
 
   



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

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