搜索
查看: 1368|回复: 5
打印 上一主题 下一主题

这个哪里错了。。帮帮忙。。

[复制链接]
跳转到指定楼层
楼主
发表于 2013-10-10 21:03:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
要求:输入三角型的三条边,判断三角形的形状。假设输入的三边边长均>0。
(提示:本题中应该要用到 if 语句嵌套)
输入:三角型的3条边的长度(int型)。
输出:等边三角形:equilateral triangle
等腰三角形:isoceles triangle
不构成三角形:non-triangle
一般三角形:triangle


#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(a+c<b)
printf("non-triangle.\n");
else
  {
if(a==b&&b==c)
printf("equilateral triangle.\n");
else
    {
if(a>b&&b==c)
printf("isoceles triangle.\n");
    else
    (a<b&&b<c)
    printf("triangle.\n");
    }
  }
        return 0;
}

沙发
发表于 2013-10-10 21:13:46 | 只看该作者
如果只是说语法上,这里
  else
    (a<b&&b<c)

此外判断的逻辑是不对的,建议你这么写
if(....)
  -> 非三角形
else{
  if(...)
    -> 正三角形
  else{
      if(...)
        -> 等腰
      else
        -> 普通
  }
}
板凳
 楼主| 发表于 2013-10-10 21:18:30 | 只看该作者
rosynirvana 发表于 2013-10-10 21:13
如果只是说语法上,这里
  else
    (a 正三角形

额。那个箭头是什么意思。。。好像不只这里错了。。
地板
发表于 2013-10-10 21:27:57 | 只看该作者
2927 发表于 2013-10-10 21:18
额。那个箭头是什么意思。。。好像不只这里错了。。

错是说无法编译还是什么?
这是往OJ上提交的题目?

箭头和省略号是留给你自己写代码的地方……
还是你想直接要现成的代码?
5#
发表于 2013-10-11 02:09:01 | 只看该作者
本帖最后由 Smallbee 于 2013-10-11 02:11 编辑

你的不构成三角形的判断条件是错误的——难道只有a+c<b这一种情况吗?a+c=b呢?a+b<=c及b+c<=a这两类呢?
然后紧跟着的等腰三角形、一般三角形判断条件同样出错。
另外还有一个地方:倒数第6、7行
    else
    (a<b&&b<c)
逻辑表达式前的 if 被你给遗忘掉{:soso_e100:}
6#
发表于 2013-10-21 16:05:20 | 只看该作者
做代码吧··········
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表