一、问题描述

设三角形边长为a、b、c,计算其面积area。

二、问题分析

(1)面积area的计算公式如下:

         其中:

 (2)该问题的输入量有三个,即a、b、c,输出量是area。

 三、算法设计

算法的具体步骤:

(1)输入a、b、c的值;

(2)判断输入数据是否合法;

(3)(a+b+c)/2 -> s;

(4)sqrt(s*(s-a)*(s-b)*(s-c)) -> area ;

(5)输出area。

四、实现程序

代码如下:

#include<stdio.h> 
#include<math.h>
int main() 
{ 
	float a,b,c,s,area;
	printf("请输入a,b,c的值:");
	scanf("%f%f%f",&a,&b,&c);		//输入a、b、c
	if(a>0&&b>0&&c>0){
		if(a+b>c&&a+c>b&&b+c>a){
			s=(a+b+c)/2.0;
			area=sqrt(s*(s-a)*(s-b)*(s-c));		//计算面积,存储在变量area中 
			printf("a=%-7.2f,b=%-7.2f,c=%-7.2f\n",a,b,c);	//输出各边长值 
			printf("Area=%-7.2f\n",area);	//输出面积值 
		}else{
			printf("输入的三边不能构成三角形");
		}
	}else{
		printf("输入的数据无效");
	}
	return 0;
}

实现效果:

更多推荐

C语言程序-计算三角形面积