bjsgwhuejbd 2022-03-13 23:09 采纳率: 69.6%
浏览 16
已结题

程序哪里出错 反馈结果与实际不符


#include <stdio.h>
#include<math.h>
int main()
{
  printf("Input a,b,c:");
  float a,b,c,t;
  scanf("%f,%f,%f",&a,&b,&c);
  int i;
  float n[2]={a,b,c};
  for(i=0;i<=2;i++)
  {
      if(n[i]>n[i+1])
      {
          t=n[i];
          n[i]=n[i+1];
          n[i+1]=t;
      }
  }
  if(n[0]+n[1]>n[2]&&n[0]+n[2]>=n[1]&&n[1]+n[2]>=n[0])
  {
      if(n[0]==n[1]&&n[1]==n[2])
      {
          printf("等边三角形");
      }
      else if(n[0]==n[1]&&n[1]!=n[2])
      {
          if(pow(n[0],2)+pow(n[1],2)==pow(n[2],2))
          {
              printf("等腰直角三角形");
          }
          else
          {
              printf("等腰三角形");
          }
      }
      else if(n[1]==n[2]&&n[1]!=n[0])
      {
          printf("等腰三角形");
      }
      else if(n[0]!=n[1]&&n[1]!=n[2])
      {
         if(pow(n[0],2)+pow(n[1],2)==pow(n[2],2))
        {
             printf("直角三角形");
         }
         else
         {
             printf("一般三角形");
         }
      }
  }
  else
  {
      printf("不是三角形");
  }
    return 0;
}
  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-03-14 00:16
    关注

    修改处见注释,供参考:

    #include <stdio.h>
    #include<math.h>
    int main()
    {
      printf("Input a,b,c:");
      float a,b,c,t;
      float n[3];      //={a,b,c};
      scanf("%f,%f,%f",&n[0],&n[1],&n[2]); //&a,&b,&c);
      int i;
    
      for(i=0;i<2;i++) //for(i=0;i<=2;i++)
      {
          if(n[i]>n[i+1])
          {
              t=n[i];
              n[i]=n[i+1];
              n[i+1]=t;
          }
      }
      if(n[0]+n[1]>n[2]&&n[0]+n[2]>=n[1]&&n[1]+n[2]>=n[0])
      {
          if(n[0]==n[1]&&n[1]==n[2])
          {
              printf("等边三角形");
          }
          else if(n[0]==n[1]&&n[1]!=n[2])
          {
              if(pow(n[0],2)+pow(n[1],2)==pow(n[2],2))
              {
                  printf("等腰直角三角形");
              }
              else
              {
                  printf("等腰三角形");
              }
          }
          else if(n[1]==n[2]&&n[1]!=n[0])
          {
              printf("等腰三角形");
          }
          else if(n[0]!=n[1]&&n[1]!=n[2])
          {
             if(pow(n[0],2)+pow(n[1],2)==pow(n[2],2))
            {
                 printf("直角三角形");
             }
             else
             {
                 printf("一般三角形");
             }
          }
      }
      else
      {
          printf("不是三角形");
      }
      return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月22日
  • 已采纳回答 3月18日
  • 创建了问题 3月13日

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)