Description 输入3个数,代表三角形的三条边长,判断这三条边是否能构成三角形,如果能, 计算并输出三角形的面积,否则输出NO。 Input 输入包括多组测试数据,每组有三个数,中间用空格隔开

/*Description
输入3个数,代表三角形的三条边长,判断这三条边是否能构成三角形,如果能,
计算并输出三角形的面积,否则输出NO。
Input
输入包括多组测试数据,每组有三个数,中间用空格隔开,单独占一行。
输入三个数都是0时输入结束,不需处理。
Output
如果能够成三角形,输出三角形的面积,小数位数输出2位。若不能构成三角形,
输出NO。
Sample Input
3 4 5
4 3 3
0 0 0
Sample Output
6.00
4.47*/

#include <stdio.h>
#include <math.h>
#define N 5

int main()
{
	float a[N][3],p,S;
	int i,j;
	
	for(i = 0;i < N;i++)
	{
		for(j = 0;j < 3;j++)
		{
			scanf("%f",&a[i][j]);
		}
		if(a[i][0] == 0 && a[i][1] == 0 && a[i][2] == 0)
		break;
	}
	
	for(i = 0;i < N ;i++)
	{
		if(a[i][0] != 0 && a[i][1] != 0 && a[i][2] != 0)
		{
			if(a[i][0] + a[i][1] > a[i][2] && a[i][0] - a[i][1] < a[i][2])//判断是否是三角形 
			{
				p = 1.0 / 2 * (a[i][0] + a[i][1] + a[i][2]);
				S = pow((p * (p - a[i][0]) * (p - a[i][1]) * (p - a[i][2])),1.0 / 2);
				printf("%.2f\n",S);
			}
			else
			printf("NO\n"); 
		}
	}
}

我遇到的问题:
1.我所遇到的数学函数所需值的类型全是浮点型
2.在进行诸如1/2类似的计算时,要想清楚输出值需要什么类型,因为int型数据相除得数还是int型,这是一个小细节问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值