c语言编程,一道题不会,求大神!!!

编程输入三角形的三边长,根据判断结果给出相应信息:若三边能构成等边三角形输出3,;能构成等腰三角形输出2;能构成一般三角形输出1;不能够成三角形输出0.如果能构成三角形,计算三角形面积。

#include "stdio.h"
#include "math.h"
main()
{
int a=0;
int b=0;
int c=0;
int p=0;
int s=0;

printf("请输入三角形的三边长:\n");
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
if(a+b<=c||a+c<=b||b+c<=a)
/*判断是否能构成三角形*/
{
printf("无法构成三角形!\n");
}
else
{
p=(a+b+c)/2;

if((a==b)&&(a==c))
{
printf("该三角形为等边三角形!\n");
s = sqrt(p(p-a)(p-b)(p-c));
printf("面积为:%d\n",s);
}
else if((a==b)&&(a!=c))
{
printf("该三角形为等腰三角形!\n");
s = sqrt(p(p-a)(p-b)(p-c));
printf("面积为:%d\n",s);
}
else
{
printf("该三角形为一般三角形!\n");
s = sqrt(p(p-a)(p-b)(p-c));
printf("面积为:%d\n",s);
}

}

知道三边计算三角形面积可以使用海伦公式
海伦公式
S=√[p(p-a)(p-b)(p-c)]
p为周长的一半:p=(a+b+c)/2

C语言中计算根号使用头文件#include "math.h" 因为开根号属于 数学函数里边的函数,要使用根号就要加上#inculde "math.h",
然后在你要开根号的数的前边加个 sqrt就可以了。追问

哦,这else if((a==b)&&(a!=c))是啥意思

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-10
#include<stdio.h>
void main()
{
int a,b,c;
printf("input:");
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
printf("该三条边能构成三角形\n");
if(a==b==c)
printf("等边三角形");
else if(a==b!=c||a==c!=b||b==c!=a)
printf("等腰三角形");
else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("直角三角形");
else
printf("任意三角形");
}
else
printf("该三条边不能构成三角形");
getch();
}

追问

这条语句if(a==b==c)
机器不认吧

第2个回答  2013-10-10
#include<stdio.h>
int main()
{
int a,b,c;
int i=0;
printf("请输入三角形边长,输入格式为:a b c \n");
scanf("%d %d %d",&a,&b,&c);

if(((a+b)<c)||((b+c)<a) || ((a+c)<b))
{
i=0;
}
else if((a==b)&&(b==c)&&(a==c))
{
i=3;
}
else if((a==b)||(b==c)||(a==c))
{
i=2;
}
else
{
i=1;
}

printf("%d\n",i);

return 0;
}

//根据三角形两边之和大于第三边编写追问

还有面积呢,嵌套在 if else语句里怎么做

追答

直接把面积公式加到每个else if 后的语句中

第3个回答  2013-10-10
把IF函数看仔细了。。。追问

怎么做呀

第4个回答  2013-10-10
这么简单的一道题都不会。。。没看书啊你追问

怎么做呀

相似回答