一. 问题的描述
设计一段程序,通过该程序实现实数的四则运算以及乘方,开方,并且求得某一整数
的阶乘。
二. 解决的思路和方法
在本程序段中,利用迭代法可以求出某个实数的平方根,利用递归的方法可以求出某
个整数的阶乘。需要注意的是在进行除法运算的时候需要考虑分母是否为零。在主函数中
调用相应的函数即可实现运算,最后输出结果。
三. 源代码清单,程序界面
#include<iostream.h>
#include<math.h>
float pingfang(float m)
{
return m*m;
}//求平方
float kaifang(float t)
{
float x0,x1;
if(t<0) cout<<"不能开方!"<<'';
else{
x1=t/2;
do{
x0=x1;
x1=(x0+t/x0)/2;
}while(fabs(x1-x0)>1e-5);
return x1;
}
}//求平方根
int fun(int n)
{
if(n==0||n==1) return 1;
else return fun(n-1)*n;
}//求阶乘
void main()
{
float a,b;
cout<<"请输入两个数:";
cin>>a>>b;
cout<<a<<"+"<<b<<"="<<a+b<<'';
cout<<a<<"-"<<b<<"="<<a-b<<'';
cout<<a<<"*"<<b<<"="<<a*b<<'';
if(b!=0) cout<<a<<"/"<<b<<"="<<a/b<<'';
else cout<<"分母为零,不能进行除法运算!"<<'';
cout<<a<<"的平方为:"<<pingfang(a)<<'';
cout<<a<<"的平方根为:"<<kaifang(a)<<'';