运行结果: m=11mm=121m*mm=1331 m=101m*m=10201mmxm=1030301 m=111mxm=12321m*m*m=1367631
运行结果: m=11 m*m=121 m*m*m=1331 m=101 m*m=10201 m*m*m=1030301 m=111 m*m=12321 m*m*m=1367631 16
C++语言程序设计 清华大学郑莉 国例3-5 数的声明与 计算如下公式,并输出结果 √S2(r)+S2(s)当r k SIN(r*S) r> S 2 使其中r、s的值由键盘输入。S|Nx的近 用似值按如下公式计算,计算精度为106: NNx=x-x+x-+…=2(y
C++语言程序设计 清华大学 郑莉 17 例3-5 计算如下公式,并输出结果: 其中r、s的值由键盘输入。SIN x的近 似值按如下公式计算,计算精度为10-6: 函 数 的 声 明 与 使 用 + = 2 2 2 2 2 2 ( * ) r 2 1 ( ) ( ) r SIN r s s SIN r SIN s s k 当 当 = − − − = − + − + = − 1 2 1 1 3 5 7 (2 1)! ( 1) 1! 3! 5! 7! n n n n x x x x x SINx
include <iostream> include<cmath> using namespace std void maino double k, r, s; double tsin(double x) cout<< r= cIn>r, cout<< S= cIn>>S, if(r*r<=s*s) ke=sqrt(tsin(r)*tsin(r)+tsin(s) *tsin(s)); else k=tsin(rs)/2 cout<<k<<end
#include <iostream> #include<cmath> using namespace std; void main() { double k,r,s; double tsin(double x); cout<<"r="; cin>>r; cout<<"s="; cin>>s; if (r*r<=s*s) k=sqrt(tsin(r)*tsin(r)+tsin(s)*tsin(s)) ; else k=tsin(r*s)/2; cout<<k<<endl; } 18
double tsin(double x) doub|ep=0000001,g=0t=x; int n=1. do i g=g+t; n+十 t=tx*X/(2n-1)/(2*n-2); ]while(fabs(t>=p) return g; 运行结果: r=5 8 1.37781
double tsin(double x) { double p=0.000001,g=0,t=x; int n=1; do { g=g+t; n++; t=-t*x*x/(2*n-1)/(2*n-2); }while(fabs(t)>=p); return g; } 运行结果: r=5 s=8 1.37781 19
C++语言程序设计 清华大学郑莉 郾例3-6投骰子的随机游戏 数 游戏规则是:每个骰子有六面,点数分别为1、2、 的 3、4、5、6。游戏者在程序开始时输入一个无符号整 声数,作为产生随机数的种子 明 每轮投两次骰子,第一轮如果和数为7或10则为胜, 与游戏结束;和数为2、3或1则为负,游戏结束;和数 使为其它值则将此值作为自已的点数,继续第二轮、第 用现和数为则为负 由 rolldice函数负责模拟投骰子、计算和数并输出 和数
C++语言程序设计 清华大学 郑莉 20 例3-6投骰子的随机游戏 游戏规则是:每个骰子有六面,点数分别为1、2、 3、4、5、6。游戏者在程序开始时输入一个无符号整 数,作为产生随机数的种子。 每轮投两次骰子,第一轮如果和数为7或11则为胜, 游戏结束;和数为2、3或12则为负,游戏结束;和数 为其它值则将此值作为自己的点数,继续第二轮、第 三轮...直到某轮的和数等于点数则取胜,若在此前出 现和数为7则为负。 由rolldice函数负责模拟投骰子、计算和数并输出 和数。 函 数 的 声 明 与 使 用