c++程序设计第3版谭浩强课后答案
C++编程:输入三角形的三边 a,b,c,计算三角形的面积的公式是
形成三角形的条件是:a+b>c,b+c>a,c+a>b
编写程序,输入a,b,c,检查a,b,c是否满足以上条件,如不满足,由cerr输出有关出错信息。
以下是此题的【c源代码】
#include <iostream>
#include <cmath>
using namespace std;
int main()
{double a,b,c,s,area;
cout<<"please input a,b,c:";
cin>>a>>b>>c;
if (a+b<=c)
cerr<<"a+b<=c,error!"<<endl;
else if(b+c<=a)
cerr<<"b+c<=a,error!"<<endl;
else if (c+a<=b)
cerr<<"c+a<=b,error!"<<endl;
else
{s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
cout<<"area="<<area<<endl;}
return 0;
}
上面的C源代码,可以改下,编写计算三角形面积的函数。代码如下:
#include <iostream>
#include <cmath>
using namespace std;
void input(double a,double b,double c)
{cout<<"please input a,b,c:";
cin>>a>>b>>c;
}
void area(double a,double b,double c)
{double s,area;
if (a+b<=c)
cerr<<"a+b<=c,error!"<<endl;
else if(b+c<=a)
cerr<<"b+c<=a,error!"<<endl;
else if (c+a<=b)
cerr<<"c+a<=b,error!"<<endl;
else
{s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
cout<<"area="<<area<<endl;}
}
int main()
{double a=2,b=3,c=5;
input(a,b,c);
area(a,b,c);
return 0;
}
本文链接:http://www.wb98.com/cjia/post/cjia_13.1.html
本站文章搜索: