十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#includestdio.h
专注于为中小企业提供成都做网站、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业梨树免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
#includemath.h
main()
{ float a,b,c;
float s,area;
scanf("%f,%f,%f",a,b,c);
if(a+bcb+caa+cb)
{ s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c)); //有改动
printf("the area is:%f\n",area);
if(a==ba==c)
printf("equilateral triangle\n");
else if(a==b||b==c||a==c)
printf("isoceles triangle\n");
else if(fabs(a*a+b*b-c*c)1e-8||fabs(a*a+c*c-b*b)1e-8||fabs(b*b+c*c-a*a)1e-8) //有改动
printf("right angled triangle\n");
else
printf("triangle");
}
else
printf("can not compose triangle");
}
你对r赋值的时候用了两个等于号“==”,赋值用一个等于号,判断 的时候采用两个!
而且输出语句应该放在第一个if外面,应该就这两个问题,代码如下:
#include stdio.h
int main(){
int a, b, c, r;
printf("Please input three integers:\n");
scanf("%d%d%d",a,b,c);
if(a == b ==c) r = 3;
else{
if(a + b c a - b c){
if(b + c a b - c a){
if(a + c b a - c b){
if(a * a == b * b + c * c || b * b == a * a +c * c || c * c == a * a + b * b)
r = 1;
else if((a == b a != c) || (b == c a != b )|| (a ==c b != a))
r = 2;
else
r = 0;
}
else
r = -1;
}
else
r = -1;
}
else
r =-1;
}
if(r == -1)
printf("Tt's not an integer.");
else if(r == 0)
printf("It's an scalenous triangle.");
else if(r == 1)
printf("It's an right-angeld triangle.");
else if(r == 2)
printf("It's an isosceles triangle.");
else if(r == 3)
printf("It's an equilateral triangle.");
return 0;
}
按照你的要求编写的判断三角形类型的C语言程序如下
#includestdio.h
#includemath.h
float cal_area(float a,float b,float c){
float p,s;
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
int main(){
int i,n;
float a,b,c,e=0.001;
scanf("%d",n);
for(i=0;in;i++){
scanf("%f%f%f",a,b,c);
if(a+b=c || a+c=b || b+c=a){
printf("no triangle\n");
}else if(fabs(a-b)e fabs(b-c)e){
printf("equilateral triangle,");
printf("%.1f\n",cal_area(a,b,c));
}else if((fabs(a-b)e || fabs(b-c)e || fabs(a-c)e) (fabs(a*a+b*b-c*c)e || fabs(a*a+c*c-b*b)e || fabs(b*b+c*c-a*a)e)){
printf("isosceles right triangle,");
printf("%.1f\n",cal_area(a,b,c));
}else if(fabs(a-b)e || fabs(b-c)e || fabs(a-c)e){
printf("isosceles triangle,");
printf("%.1f\n",cal_area(a,b,c));
}else if(fabs(a*a+b*b-c*c)e || fabs(a*a+c*c-b*b)e || fabs(b*b+c*c-a*a)e){
printf("right triangle,");
printf("%.1f\n",cal_area(a,b,c));
}else{
printf("general triangle,");
printf("%.1f\n",cal_area(a,b,c));
}
}
return 0;
}
运行结果
3
3.0 2.0 6.0
no triangle
3.0 4.0 5.0
right triangle,6.0
1.0 1.0 1.414
isosceles right triangle,0.5
一、三角形问题:
(1)
#includestdio.h
#includemath.h
void
method(float
a,float
b,float
c)
{
float
p;
if((((a+b)=c)(fabs(a-b)c))||
(((b+c)=a)(fabs(b-c)a))||
(((a+c)=b)(fabs(a-c)b)))
{
if(a==b||a==c||b==c)
{
if(a==ba==cb==c)
printf("等边三角形\n");
else
printf("等腰三角形\n");
}
else
printf("一般三角形\n");
}
else
{
printf("不能构成三角形\n");
}
}
main()
{
float
a,b,c;
intflag=0;
printf("请选择要进行的操作\n1
创建一个三角形.\n0
退出\n");
scanf("%d",flag);
while(flag==1)
{
printf("请输入三角形的三条边长:\n");
scanf("%f",a);
scanf("%f",b);
scanf("%f",c);
if((a=1a=100)(b=1b=100)(c=1c=100))
method(a,b,c);
else
printf("请输入1-100之间的数作为边长!");
printf("请选择要进行的操作\n1
创建一个三角形.\n0
退出\n");
scanf("%d",flag);
}
}
(2)
#include
stdio.h
void
main()
{
float
a,b,c;
printf("请输入三角形的三条边长a,b,c:\n");
scanf("%f",a);
scanf("%f",b);
scanf("%f",c);
if((a=1a=100)(b=1b=100)(c=1c=100))
{
if(a+bc||a+cb||b+ca)
/*判断是否能构成三角形*/
printf("非三角形!\n");
else
if((a==b(a!=c))||(a==c(b!=c))||(b==c(a!=c)))/*判断是否为等腰三角形*/
printf("等腰三角形\n");
else
if(a==c
a==b)
/*判断是否为等边三角形*/
printf("等边三角形\n");
else
printf("一般三角形!\n");
}
else
printf("请输入1-100之间的数!\n");
}
测试数据:(1)3,3,4;(2)3,3,3(3)1,2,3(4)-1,0,1(5)3.5,4,5