用C语言求三角形的面积

求三角形的面积。并提高程序的正确性,如当用户输入负值或导致平方根号下为负值时,输出“输入错误”并跳过计算或让用户重新输入。提示:使用求平方根函数sqrt(),应在程序前增加#include <math.h>

第1个回答  2011-03-27
#include<iostream>
#include<cmath>
using namespace std;
void compute(double a,double b,double c)
{
double s,q;
q=(a+b+c)/2;
if(a>=9&&a<=109&&b>=9&&b<=109&&c>=9&&c<=109)
{
if(a+b>c&&a-b<c)
{
s=sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
}
else
return 0.0000;
}
void main()
{
double a,b,c;
printf("please enter the number::\n");
printf("a:\n");
scanf("%.3lf",&a);
printf("b:\n");
scanf("%.3lf",&b);
printf("c:\n");
scanf("%.3lf",&c);
compute( a, b, c);
printf(a,b,c,compute(a,b,c));

}
大概是这样了,希望对你有用!
第2个回答  2018-05-04
#include <stdio.h>
#include <math.h>
void main( )
{
int a , b , c , s ;

float area ;

scanf("%d %d %d", &a, &b, &c) ;

if( ( a <= 0 ) || ( b <= 0 ) || ( c <= 0 ) )

{

printf("Input error !\n") ;

exit(1) ;

}

s = (a+b+c)/2 ;

area = (float)( s * sqrt( s * (s-a) * (s-b) * (s-c) ) ) ;

printf("area is %f\n", area ) ;

}本回答被提问者采纳
第3个回答  2018-05-04
#include<stdio.h>
#include<math.h>

int main( )
{
double a,b,c,s,area;
int n;
do {
printf("input a b c:\n");
n=scanf("%lf %lf %lf",&a,&b,&c);
if (n==3 && a>0 && b>0 && c>0){
s= (a+b+c)/2;
area = s*(s-a)*(s-b)*(s-c);
if (area>=0){area = sqrt(area);break;};
};
} while(1);

printf("area=%g",area);
return 0;
}

例子:
input a b c:
3 4 5
area=6
第4个回答  2011-03-28
#include<math.h>
int main()
{
double a, b, c, p, s;
printf("请输入三角形的三边长:");
scanf("%lf%lf%lf", &a, &b, &c);
p = (a+b+c)/2;
s = sqrt( p*(p-a)*(p-b)*(p-c));
printf("%.3f\n", s);
return 0;
}
相似回答