运行结果: m=11m米m=121m*m米m=1331 m=101m米m=10201m米m米m=1030301 m=111m米m=12321mm米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 数计算如下公式,并输出结果 的 √sn2(r)+sn2(s) 声明与使用 k Sn(r×s) 2 使其中r、s的值由键盘输入sinx的近似 值按如下公式计算,计算精度为10 (即某项绝对值不大于106为止) SIn x 357+…∑(-y-x2 XxXX n=1 (2n-1)
C++语言程序设计 湖南科技大学 17 例3-5 计算如下公式,并输出结果: 其中r、s的值由键盘输入。sin x的近似 值按如下公式计算,计算精度为10-6: (即某项绝对值不大于10-6为止) 函 数 的 声 明 与 使 用 + = 2 2 2 2 2 2 sin( ) r 2 1 sin ( ) sin ( ) r r s s r s s k 当 当 = − − − = − + − + = − 1 2 1 1 3 5 7 (2 1)! ( 1) 1! 3! 5! 7! sin n n n n x x x x x x
#include <iostream> #include<cmath> using name space std; int maino 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<end1
#include <iostream> #include<cmath> using namespace std; int 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) double p=0.00001,g=0,t=x;/g是运算结果 int n=1 do i g=g+t: n++ t=一t*x*x/(2米n-1)/(2*n2);/表示每一项 } while(fabs(t)>p);//fabs,求绝对值 return g 运行结果 1.37781
double tsin(double x) { double p=0.000001,g=0,t=x;//g是运算结果 int n=1; do { g=g+t; n++; t=-t*x*x/(2*n-1)/(2*n-2);//表示每一项 }while(fabs(t)>p); //fabs,求绝对值 return g; } 运行结果: r=5 s=8 1.37781 19
C++语言程序设计 明南科技大学 郾例3-6投骰子的随机游戏 数 每个骰子有六面,点数分别为1、2、3、4、5、6。 的游戏者在程序开始时输入一个无符号整数,作为产生 声随机数的种子 明 每轮投两次骰子,第一轮如果和数为7或11则为胜, 与游戏结束;和数为2、3或12则为负,游戏结束;和数 使为其它值则将此值作为自已的点数,继续第二轮,第 用出现和数为7则为负 由 rolldice函数负责模拟投骰子、计算和数并输 出和数
C++语言程序设计 湖南科技大学 20 例3-6投骰子的随机游戏 每个骰子有六面,点数分别为1、2、3、4、5、6。 游戏者在程序开始时输入一个无符号整数,作为产生 随机数的种子。 每轮投两次骰子,第一轮如果和数为7或11则为胜, 游戏结束;和数为2、3或12则为负,游戏结束;和数 为其它值则将此值作为自己的点数,继续第二轮、第 三轮...直到某轮的和数等于点数则取胜,若在此前 出现和数为7则为负。 由rolldice函数负责模拟投骰子、计算和数并输 出和数。 函 数 的 声 明 与 使 用