用三角形的边长计算三角形的面积。用C语言编写。

算法:问题的输入数据是三角形的三个边长,使用整数,用变量a、b、c表示,
输入方法:用键盘输入函数scanf()。
要求输出三角形的面积值,使用浮点数,用变量area表示。
输入、输出数据的关系用数学公式描述为:
area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s=(a+b+c)/2,sqrt()是开平方函数。
使用顺序结构就可完成以上计算,算法如下:
开始 输入a、b、c
计算s=(a+b+c)/2
计算area=sqrt(s*(s-a)*(s-b)*(s-c))
输出area
结束!
要求排除负数和任意二条边长之和不大于第三条边长的情况。合法的输入继续计算面积,否则结束程序。

第1个回答  2012-03-21
#include<stdio.h>
#include<math.h>
main()
{
float a,b,c,s,area;
printf("请输入三角形三边:\n");
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
if((a<=0)||(b<=0)||(c<=0))
{
printf("输入有边为0或负\n");
return;
}
if((a+b<=c)||(a+c<=b)||(b+c<=a))
{
printf("不符合两边之和大于第三边\n");
return;
}
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("面积为%f\n",area);

}追问

怎么有文字,上机操作不能输入文字啊

追答

#include
#include
main()
{
float a,b,c,s,area;
printf("please input sides of a triangel:\n");
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
if((a<=0)||(b<=0)||(c<=0))
{
printf("erro\n");
return;
}
if((a+b<=c)||(a+c<=b)||(b+c<=a))
{
printf("erro\n");
return;
}
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%f\n",area);

}

第2个回答  2012-03-21
#include <stdio.h>
#include <math.h>
main()
{ int a,b,c,flag;
float area,s;
printf("input side of triangle:");
scanf("%d%d%d",&a,&b,&c);
if(a+b<c||b+c<a||a+c<b)
flag=0;
if(a<=0||b<=0||c<=0)
flag=0;
if(flag==0)
printf("data error");
else
{ s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("the area of triangle is %f\n",area);
}
}追问

再帮我看看另一道题http://zhidao.baidu.com/question/398019052.html?quesup2&oldq=1

追答

那个有文字的可能是用的VC++6.0。正在看。

本回答被提问者采纳
相似回答