#include<iostream> using namespace std; void main() double a,b; double arctan(double x);I函数原型声明 a=16.0*arctan(115.0); b=4.0*arctan(11239.0); 注意:因为整数相除结果取整, 1如果参数写115,11239,结果就都是0 cout<<"Pl="<<a-b<<endl; 11
#include<iostream> using namespace std; void main() { double a,b; double arctan(double x) ; //函数原型声明 a=16.0*arctan(1/5.0) ; b=4.0*arctan(1/239.0) ; //注意:因为整数相除结果取整, //如果参数写1/5,1/239,结果就都是0 cout<<"PI="<<a-b<<endl; } 11
double arctan(double x) int i; double r,e,f,sqr; sqr=x*x; r=0;e=X; i=1; while(e/i>1e-15) { f行eli; =(i%4==1)?r+f:r-f; e=e*sqr; +=2; } 运行结果: return r PI=3.14159 12
double arctan(double x) { int i; double r,e,f,sqr; sqr=x*x; r=0; e=x; i=1; while(e/i>1e-15) { f=e/i; r=(i%4==1)? r+f : r-f ; e=e*sqr; i+=2; } return r ; } 运行结果: PI=3.14159 12
C++语言程序设计 清华大学郑莉 例3-4 数的声明与使 寻找并输出11~999之间的数m,它满足m、 m2和m3均为回文数。 回文:各位数字左右对称的整数。 例如:11满足上述条件 112=121,113=1331。 。分析: 用 10取余的方法,从最低位开始,依次取出该数 的各位数字。按反序重新构成新的数,比较与 原数是谷相等,着相等,则原数为加文。失才 的 13
C++语言程序设计 清华大学 郑莉 13 例3-4 ⚫ 寻找并输出11~999之间的数m,它满足m、 m2和m3均为回文数。 – 回文:各位数字左右对称的整数。 例如:11满足上述条件 112=121,113=1331。 ⚫ 分析: – 10取余的方法,从最低位开始,依次取出该数 的各位数字。按反序重新构成新的数,比较与 原数是否相等,若相等,则原数为回文。 函 数 的 声 明 与 使 用
#include <iostream> using namespace std; void main() f bool symm(long n); long m; for(m=11;m<1000;m++) if (symm(m)&&symm(m*m)&&symm(m*m*m)) cout<<"m="<<m<<"m*m="<<m*m <<"m*m*m="<<m*m*m<<endl; 14
#include <iostream> using namespace std; void main() { bool symm(long n); long m; for(m=11; m<1000; m++) if (symm(m)&&symm(m*m)&&symm(m*m*m)) cout<<"m="<<m<<" m*m="<<m*m <<" m*m*m="<<m*m*m<<endl; } 14
bool symm(long n) { long i,m; i=n;m=0; while(i) { m=m*10+i%10; i=i/10 ; } return(m==n)月 15
bool symm(long n) { long i, m; i=n ; m=0 ; while( i ) { m=m*10+i%10 ; i=i/10 ; } return ( m==n ); } 15