输入三个数据,如果这三个数据能够构成三角形的三条边,则计算并输出三
角形的面积,否则输出如下提示:“这三个数据不能构成三角形”。
【实现提示】
(1)定义3个double型变量用于保存三角形的三条边。
(2)利用cin从键盘上读入3个数据作为三角形的三条边。
(3)利用if语句判断这三个数据能否构成三角形的三条边。想一想为什
么需要使用if语句?构成三角形的条件是:任意两边之和大于第三边。注意其中
的“任意”。
(4)利用如下海伦公式计算三角形的面积:
s = √(x(x − a)(x − b)(x − c)) ,其中:
x = 1/2(a + b + c)
(5)输出该三角形的面积。
一道C++的题目
答案:3 悬赏:70 手机版
解决时间 2021-04-24 00:36
- 提问者网友:富士山上尢
- 2021-04-23 00:43
最佳答案
- 五星知识达人网友:持酒劝斜阳
- 2021-04-23 01:59
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
float a,b,c,d,s;
cout<<"请输入三角形的三边:"<<endl;
cin>>a>>b>>c;
if((a+b)>c && (a+c)>b && (b+c)>a)
{
d=(a+b+c)/2.0;
s=sqrt(d*(d-a)*(d-b)*(d-c));
cout<<"三角形的面积为"<<s<<endl;
}
else
cout<<"这三个数据不能构成三角形"<<endl;
return 0;
}
我调试过了,能运行,答案正确
全部回答
- 1楼网友:醉吻情书
- 2021-04-23 04:12
看看满足你的要求不
#include <iostream.h> #include <math.h> void main() { double a,b,c; //定义三边 cout<<"输入三条边的值:"; cin>>a>>b>>c; if((a+b>c) && (b+c>a) && (a+c>b)) { double x=(a+b+c)/2; cout<<"该三角形面积为:"<<sqrt(x*(x-a)*(x-b)*(x-c))<<endl; return; } cout<<"这不是个三角形!"<<endl; }
- 2楼网友:荒野風
- 2021-04-23 02:57
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,p,s;
printf("请输入第一条边:");
scanf("%f",&a);
getchar();
printf("请输入第而条边:");
scanf("%f",&b);
getchar();
printf("请输入第三条边:");
scanf("%f",&c);
getchar();
if((a+b<=c)||(a+c<=b)||(b+c<=a))
printf("你输入的不是三角形!!!\n");
else
{
p=(a+b+c)/2;
printf("三角形的面积为:");
printf("%7.2f\n",sqrt(p*(p-a)*(p-b)*(p-c)));
}
getchar();
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯