例3:根据三边求三角形面积
#include <iostream>
using namespace std;
#include <math.h>
int main()
{
double a,b,c,s,area;
cout<<"please input a,b,c"<<endl;
cin>>a>>b>>c;
if (a+b>c&&a+c>b&&b+c>a)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
cout<<"area= "<<area<<endl;
}
else
cout<<"input data cannot construct a triangle"<<endl;
return 0;
}
例4:求一元二次方程的根,aX^2+bX+c=0.
#include <iostream>
using namespace std;
#include <math.h>
int main()
{
double a,b,c,delta,p,q;
cout<<"please input a,b,c"<<endl;
cin>>a>>b>>c;
if (fabs(a*a+b*b+c*c)<1e-5)
{
printf("系数不能全为0!\n");
exit(-1);
}
delta = b*b-4*a*c;
p=-b/(2*a);
q=sqrt(fabs(delta))/(2/a);
if (delta>=0)
{
cout<<"两个实数根为: "<<endl;
cout<<"x1="<<p+q<<endl;
cout<<"x2="<<p-q<<endl;
}
else
{
cout<<"两个虚根为: ";
cout<<endl<<"x1="<<p<<"+j"<<q;
cout<<endl<<"x2="<<p<<"-j"
<<q<<endl;
}
return 0;
}
例5:求PI的近似值,PI*4=1-1/3+1/5-1/7+…直到最后一项的绝对值<1e-4.
#include <iostream>
using namespace std;
#include <math.h>
int main()
{
int s=1;
double n=1.0,u=1.0,pi=0.0;
while(fabs(u)>=1e-4)
{
pi=pi+u;
n=n+2;
s=-s;
u=s/n;
}
cout<<"pi="<<pi*4<<endl;
return 0;
}
例6:计算e=1+1/1!+1/2!+1/3!+…当1/n!<1e-7停止.
#include <iostream>
using namespace std;
#include <math.h>
int main()
{
double e=1.0;
double u=1.0;
int n=1;
while (u>=1.0e-7)
{
u=u/n;
e=e+u;
n=n+1;
}
cout<<"e="<<e<<endl;
cout<<"(n="<<n<<")"<<endl;
return 0;
}
例7:求水仙花数:个位十位百位各自的立方和等于三位数本身.
#include <iostream>
using namespace std;
#include <math.h>
int main()
{
int n,i,j,k;
for(n=100;n<1000;n++)
{
i=n/100; //百位
j=(n/10)%10; //十位
k=n%10; //个位
if(n==i*i*i+j*j*j+k*k*k)
cout<<n<<"="<<i<<"^3+"<<j<<"^3+"<<k<<"^3"<<endl;
}
return 0;
}