带数据检验的三角形面积计算

为例2-2添加数据检验部分。用户输入三个边长,检验其是否能构成一个三角形(检查是否任意两边和均大于第三边),如果构成三角形,计算面积并输出;如果不构成三角形,输出信息“Error Data!”。程序能连续接收两组数据,给出两组结果。

程序运行结果如下:
输入:
3 4 5
1 2 3
输出:
6

Error Data!

分析:这个题与上一题类似,也需要用海伦公式解决,但是本题多了一个判断和一个多组数据

判断的话用if结构就可以解决,不过要注意判断条件要加好()(因为if语句()中的内容是1(也就是布尔值true)才会进入之后的语句,加()就是为了把数据变成布尔形式)

#include<iostream>
#include<math.h>
#include<iomanip>
using namespace std;
int main()
{
    for (int i=1;i<=2;i++)
    {
        double a,b,c,s,p;
        cin>>a>>b>>c;
        if (((a+b)>c)&((a+c)>b)&((b+c)>a))
        {
            p=a+b+c;
            p=p/2;
            s=(sqrt(p*(p-a)*(p-b)*(p-c)));
            cout<<s<<endl;
        }
        else cout<<"Error Data!";
    }
    return 0;   
}

两组数据不多,所以有人直接用两组变量解决,我觉得打两遍很烦……所以我就用了循环体来解决这个问题每次我都重定义可以直接清空数据,如果不清空也会在读入的时候覆盖掉,没什么问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值