| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1277 人关注过本帖
标题:三角形问题,验证三角形的各种可能性。
只看楼主 加入收藏
回水
Rank: 2
来 自:广东湛江
等 级:论坛游民
帖 子:37
专家分:10
注 册:2011-3-3
收藏
得分:0 
我输入1 1 2时  显示结果不能构成三角形 等腰三角形
2011-03-03 23:50
回水
Rank: 2
来 自:广东湛江
等 级:论坛游民
帖 子:37
专家分:10
注 册:2011-3-3
收藏
得分:0 
输入1 1 2是  显示结果是“不能构成三角形   等腰三角形”
2011-03-03 23:53
admin3012
Rank: 1
来 自:陕西渭南
等 级:新手上路
帖 子:7
专家分:8
注 册:2011-3-3
收藏
得分:3 
应该是输入的值时出现的问题
#include <stdio.h>
int main (void){
    int a,b,c;
    printf("请输入三位整数,并用空格键分开:\n");
    scanf("%d",&a);
    scanf("%d",&b);
    scanf("%d",&c);
    if ((a+b<=c)||(a+c<=b)||(b+c<=a))
       printf("不能构成三角形\t");
       else
           ;
    if (a==b&&a==c&&c==b)
       printf("是等边三角形\t");
    else if ((a==b)||(a==c)||(b==c))
       printf("等腰三角形");
    else if ((a*a+b*b==c*c)||(b*b+a*a==c*c)||(a*a+c*c==b*b))
      printf("直角三角形\t");
    else if((a==b!=c)&&(a==c!=b)&&(b==c!=a)&&(a*a==c*c/2)&&(c*c==a*a/2))
      printf("等腰直角三角形\t");
     else if((a+b>c)&&(a+c>b)&&(b+c>a)&&a!=b&&a!=c&&b!=c)
      printf("一般三角形\t");
    return 0;  
}
2011-03-04 11:56
admin3012
Rank: 1
来 自:陕西渭南
等 级:新手上路
帖 子:7
专家分:8
注 册:2011-3-3
收藏
得分:0 
如果第一个判断成功  就让结束程序  return 0;不然还会执行下面的
#include <stdio.h>
int main (void){
    int a,b,c;
    printf("请输入三位整数,并用空格键分开:\n");
    scanf("%d",&a);
    scanf("%d",&b);
    scanf("%d",&c);
    if ((a+b<=c)||(a+c<=b)||(b+c<=a)){
       printf("不能构成三角形\t");
    return 0;
    }
    else  if (a==b&&a==c&&c==b){
    printf("是等边三角形\t");
    return 0;  
    }
    else if ((a==b)||(a==c)||(b==c)){
       printf("等腰三角形");
       return 0;
    }
    else if ((a*a+b*b==c*c)||(b*b+a*a==c*c)||(a*a+c*c==b*b)){
      printf("直角三角形\t");
        return 0;
    }
    else if((a==b!=c)&&(a==c!=b)&&(b==c!=a)&&(a*a==c*c/2)&&(c*c==a*a/2)){
      printf("等腰直角三角形\t");
      return 0;
    }
     else if((a+b>c)&&(a+c>b)&&(b+c>a)&&a!=b&&a!=c&&b!=c){
      printf("一般三角形\t");
      return 0;
     }
}
2011-03-04 12:03
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:3 
if else使用不当,导致出现的情况不全!

   唯实惟新 至诚致志
2011-03-04 12:23
tp19920527
Rank: 2
等 级:论坛游民
帖 子:15
专家分:10
注 册:2011-2-26
收藏
得分:3 
我是新手....看你逻辑有点错误吧..
 else if ((a==b)||(a==c)||(b==c))   
       printf("等腰三角形");
else if ((a*a+b*b==c*c)||(b*b+a*a==c*c)||(a*a+c*c==b*b))
      printf("直角三角形\t");
else if((a==b!=c)&&(a==c!=b)&&(b==c!=a)&&(a*a==c*c/2)&&(c*c==a*a/2))    \*前面已经否定了“等腰”和“直角”的可能性*\
      printf("等腰直角三角形\t");
2011-03-04 14:01
admin3012
Rank: 1
来 自:陕西渭南
等 级:新手上路
帖 子:7
专家分:8
注 册:2011-3-3
收藏
得分:0 
仅供参考:
#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");
                return 0;
            }
            else
            {
                if(a==b==c){
                    printf("是等边三角形!\n");
                return 0;
                }
                else{
                    printf("是等腰三角形!\n");
                return 0;
                }
            }
        }
        else
        {
        printf("a*a=%d\n",a*a);
        printf("b*b=%d\n",b*b);
        printf("c*c=%d\n",c*c);
            if((a*a+c*c==b*b)||(b*b+c*c==a*a)||(a*a+b*b==c*c)){
                printf("是直角三角形!\n");
                return 0;
            }
            else{
                printf("是一般三角形!\n");
                return 0;
            }
        }
    }
}
2011-03-04 15:12
回水
Rank: 2
来 自:广东湛江
等 级:论坛游民
帖 子:37
专家分:10
注 册:2011-3-3
收藏
得分:0 
感谢大家的帮助。。。
2011-03-04 20:02
快速回复:三角形问题,验证三角形的各种可能性。
数据加载中...
 
   



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

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