当前位置: 代码迷 >> 综合 >> C语言标题下面程序用于输入三角形的三条边a,b,c,判断它们能否构成三角形,若能,则指出是何种三角形:等腰三角形、直角三角形、等腰直角三角形,一般三角形。若不能,则输出“不是三角形\n”
  详细解决方案

C语言标题下面程序用于输入三角形的三条边a,b,c,判断它们能否构成三角形,若能,则指出是何种三角形:等腰三角形、直角三角形、等腰直角三角形,一般三角形。若不能,则输出“不是三角形\n”

热度:13   发布时间:2023-11-30 19:21:25.0

标题下面程序用于输入三角形的三条边a,b,c,判断它们能否构成三角形,若能,则指出是何种三角形:等腰三角形、直角三角形、等腰直角三角形,一般三角形。若不能,则输出“不是三角形\n”

浮点数的运算允许的误差在0.1范围内即可。
请修改下面程序,使其运行结果完全正确。只有全部错误都修改正确才给分,部分错误修改正确不给分。允许修改和增加语句,但是不允许删除语句,也不要修改变量的类型。
#include <stdio.h>
int main()
{
float a, b, c;
int flag;
scanf("%d,%d,%d", a, b , c);
if (a+b>c || b+c>a || a+c>b);
{
if (a=b||b=c||c=a)
{
printf(“等腰三角形\n”);
flag = 0;
}
else if (aa+bb=cc || aa+cc=bb || cc+bb=a*a)
{
printf(“直角三角形\n”);
flag = 0;
}
if (!flag)
{
printf(“一般三角形\n”);
}
}
else
{
printf(“不是三角形\n”);
}
return 0;
}

#include <stdio.h>
#include <math.h>int main()
{
      	 	  	 	   float	a, b, c;int	flag = 1;scanf("%f, %f, %f", &a, &b , &c);	//原来%d错if (a + b > c && b + c > a && a + c > b)//1{
      	 	  	 	   if (fabs(a - b) <= 0.1 || fabs(b - c) <= 0.1 || fabs(c - a) <= 0.1)//1{
      	 	  	 	   printf("等腰");flag = 0;}if (fabs(a * a + b * b - c * c) <= 0.1|| fabs(a * a + c * c - b * b) <= 0.1|| fabs(c * c + b * b - a * a) <= 0.1) //原来多了else{
      	 	  	 	   printf("直角");flag = 0;}if (flag)  //原来flag前面多了!{
      	 	  	 	   printf("一般");}printf("三角形\n");}else{
      	 	  	 	   printf("不是三角形\n");}return 0;
}