C++:输入一个三角形的三个边长值,求该面积并输出
一、程序分析
三角形面积海伦公式:√[ p ( p - a ) ( p - b ) ( p - c ) ] 。其中 p = (a + b + c) / 2 。a、b、c分别是三角形的三边长。
二、根据三角形面积计算公式用if语句编写程序如下:
#include "stdio.h"
#include "math.h"
int main(void)
{
float a = 0, b = 0, c = 0, p = 0;
float area = 0;
printf("Please input three sides of triangle:");
scanf_s("%f %f %f", &a, &b, &c);
if((a + b) > c && (a + c) > b && (b + c) > a)
{
p = (a + b + c) / 2;
area = sqrt(p * (p - a) * (p - b) * (p - c));
}
else
printf("Triangle does not exist!
");
printf("The area of triangle is:%f
", area);
return 0;
扩展资料:
还可以使用switch语句计算三角形的面积,编写程序如下
#include "stdio.h"
#include "math.h"
int main(void)
{
float a = 0, b = 0, c = 0;
float p = 0;
printf("Please input three sides of triangle:");
scanf_s("%f %f %f", &a, &b, &c);
switch (a + b > c && a + c > b && b + c > a)
{
case 0:printf("Triangle does not exist!
"); break;
case 1:
p = (a + b + c)*0.5;
printf("The area of triangle is:%f
", sqrt(p * (p - a) * (p - b) * (p - c)));
break;
}
return 0;
}
参考资料:百度百科-switch
参考资料:百度百科-结束条件语句
#include
#include
void main()
{
float a,b,c,s,area;
printf("请输入三个边长:");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&b+c>a&&c+a>b)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形面积:%g
",area);
printf("三角形边长:%g,%g,%g
",a,b,c);
}
else
printf("不能构成一个三角形
");
}
步骤如下:
1,#include
2,using namespace std
3,int main()
4,{
5,double a,b,c,s
6,cout<<"请输入三角形的三边长度:"
7,cin>>a>>b>>c;
8,if( a+b<=c || fabs(a-b)>=c)
printf("the num you input is wrong!")
9,else
10,{
11, s=(a+b+c)/2
12,cout<<"The area is "<<sqrt(s*(s-a)*(s-b)*(s-c))<<'
'
13,}
14,return 0
15,}
扩展资料:
1,C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
2,C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
假设三角形的3条边分别是a、b、c,已知面积公式为:
area=√s(s-a)(s-b)(s-c)
s=(a+b+c)*0.5
代码是这样的
#include <stdio.h>
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int a,b,c;
double p,s;
cout<<"Please input abc:";
cin>>a>>b>>c;
if (a<0||b<0||c<0)
{
cout<<"error"<<endl;
return 1;
}
p=(double)(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<"The area is:"<<s<<endl;
return 0;
}
#include <iostream.h>
#include <math.h>
void main()
{
double a,b,c,s,area;
cin>>a>>b>>c;
if(a+b<=c||a+c<=b||b+c<=a)
cout<<"三条边无法组成三角形"<<endl;
else
{
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
cout<<"面积为:"<<area<<endl;
}
}
前两位的回答,一个是边长只考虑了整数型,一个是判断有错误,如果边长分别是1、2、3,就不适用了。
#include<iostream>
#include<cmath>
using namespace std;
int main(){
double a,b,c,p,s;
cin >> a >> b >> c;
p = (a + b + c) / 2;
s = sqrt(p * (p-a) * (p-b) * (p-c));
cout << s << endl;
return 0;
}
我在Dev-C++里面用的是这个程序
#include
int main()
{
double a,b,c,s
cout<<"请输入三角形的三边长度:"
cin>>a>>b>>c;
if( a+b<=c || fabs(a-b)>=c)
printf("the num you input is wrong!")
else
{
s=(a+b+c)/2
cout<<"The area is "<<sqrt(s*(s-a)*(s-b)*(s-c))<<'\n'
}
return 0
}
编程c语言输入三个边长,判断是否构成一个三角形,并求三角形的面积,然后...
printf("请输入三个边长:");scanf("%f%f%f",&a,&b,&c);if(a+b>c&&b+c>a&&c+a>b){ s=(a+b+c)\/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("三角形面积:%g\\n",area);printf("三角形边长:%g,%g,%g\\n",a,b,c);} else printf("不能构成一个三角形\\n");} ...
...30以内的整数,求出所有这样的直角三角形的三边长。拜托
include <stdio.h> #include <math.h> void main() { int count = 0; for(int i = 3 ; i <= 30 ; i++) for(int j = 1 ; j <= i-1 ; j++) for(int k = 1 ; k < j ; k++) if(pow(i,2)==pow(j,2)+pow(k,2) { count++; printf( "i:...
求直角三角形三条边如果三条边加起来为1000(最好根据c++的程序来解释...
include<iostream> using namespace std;int main(){ int a,b,c,m,n;for(a=1; a<707; a++)\/\/穷举a,b for(b=a; b<708; b++){ c=1000-a-b;\/\/保证a+b+c==1000 if(a*a+b*b==c*c)\/\/如果a,b,c是勾股数组 cout<<a<<", "<<b<<", "<<c<<endl;} } 这样的程序...
...条边长,请你判断一下能不能组成一个三角形。输入数据第一行包含一...
int sjx(int a,int b,int c){ int t;if(a<b){t=a,a=b;b=t} if(a<c){t=a,a=c;c=t} if(b<c){t=b,b=c;c=t} if(a>b+c||c
c++ 求三角形的三边在30及以内能构成直角三角形的群友可能情况_百度知 ...
include<iostream> using namespace std;int main(){ int a,b,c;for(a=1;a<=30;a++){ for(b=1;b<=30;b++){ for(c=1;c<=30;c++){ if(a<=b && a*a+b*b==c*c)cout<<a<<' '<<b<<' '<<c<<endl;} } } return 0;} ...
C++,输入三个数,判断能不能组成三角形,请大家来帮忙啊,谢谢了_百度知 ...
int a[3],i,number=0;for(i=0;i<3;i++)cin>>a[i];if(a[0]<0||a[1]<0||a[2]<0){cout<<"你输入的为负数"<<endl;exit(0);} for(i=0;i<3;i++)if(sf(a[i%3],a[(i+1)%3],a[(i+2)%3]))number++;if(number==3){ cout<<"输入的三个数能组成三角形";pd...
...都是25以内的整数,求出所有这样的直角三角形的三边长。
定义三个变量abc,都从1开始,三层循环,内部写一个两个和大于第三边的判断条件,输出abc即可。int main(){ for(int a=1;a<24;a++){ for(int b=1;b<24;b++){ for(int c=1;c<24;c++){ if(a*a=b*b+c*c){ printf("%d %d %d\\n",a,b,c);} } } } return 0;} ...
高手答一下。用vc++6.0写的。C程序不是c++。编译无错,运行出现如图提示...
{ float cos,sin;cos=(x*x+y*y-z*z)\/2\/x\/y;sin=sqrt(1-cos*cos);return sin;} float S(float x,float y,float z)\/\/ { float s,sin;sin=f(x,y,z);s=x*y*sin\/2;return s;} int main(){ float s,a,b,c;printf("请输入三角形三边边长:");scanf("%f%f%f",&a,&...
C语言,求三角形面积:从键盘输入三个顶点坐标(x1,y1)(x2,y2)(x3,y3...
include <math.h> double dist(double x1,double y1,double x2,double y2){return sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));} int main(){ double a,b,c,p,s,x[3],y[3];int i;for(i=0;i<3;i++)scanf("%lf%lf",&x[i],&y[i]);a=dist(x[0],y[0],x[1]...
...数作为三角形三条边的长,检查能否构成一个三角形。
程序如下所示:include <stdio.h> int main(){ float a,b,c;printf("请输入边长:\\n");scanf("%f,%f,%f",&a,&b,&c);if(a+b>=c || a+c>=b || b+c>=a){ if (a==b&&a==c&&b==c)printf("等边三角形\\n");else if ((a*a+b*b==c*c)||(a*a+c*c==b*b)|...