c++程序设计钱能第二版习题解答(多解法).doc_第1页
c++程序设计钱能第二版习题解答(多解法).doc_第2页
c++程序设计钱能第二版习题解答(多解法).doc_第3页
c++程序设计钱能第二版习题解答(多解法).doc_第4页
c++程序设计钱能第二版习题解答(多解法).doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/=/课本第23页1题。/输出“I am a student./=#includeusing namespace std;/-int main()coutI am a student.n;return 0;/=/=/课本第23页2题。/多行输出*/=#includeusing namespace std;/-int main()cout * n; cout * n; cout * n; cout*endl; cout * n; cout * n; cout * n;return 0;/=/=/练习二第01题。/计算级数。/=#include #include using namespace std;/-int main()double x;cinx;double sum = 1;double t = x;int i = 2;while (abs(t) 1e-8)sum += t;t *= (-1)*x/i;i +;cout.precision(8);coutfixedx=x, sum=sumn;return 0;/=/=/练习二第01题。/计算级数。/=#include #include using namespace std;/-int main()double x;cinx;double sum = 1;double t = x;for (int i = 2;abs(t) 1e-8;i +)sum += t;t *= (-1)*x/i;cout.precision(8);coutfixedx=x, sum=sumn;return 0;/=/=/练习二第01题。/计算级数。/=#include #include using namespace std;/-int main()double x,sum = 1,t;cinx;t = x;for (int i = 2;abs(t) 1e-8;t *= (-1)*x/i+)sum += t;cout.precision(8);coutfixedx=x, sum=sumn;return 0;/=/=/练习二第01题。/计算级数。/=#include #include #include using namespace std;/-int main()double x;cinx;double sum = 1,item = -1;for (int i = 1;abs(item) 1e-8;i +)item *= (-1)*x/i;sum += item;coutfixedsetprecision(8)x=x, sum=sumn;return 0;/=/=/练习二第01题。/计算级数。/函数版。/=#include #include #include using namespace std;/-int fact(int n);/-int main()double x,sum=1,item=1,po;cinx;for(int n=1,sign=1;abs(item)1e-8;n+,sign *= -1)po= pow(x,n);item=sign*po/(fact(n);sum += item;coutjs=setiosflags(ios:fixed)setprecision(8)sumendl;return 0;/=int fact(int n)if(n=1)return(1);elsereturn(fact(n-1)*n);/=/=/练习二第02题。/1!+2!+3!+.+12!/=#include using namespace std;/-int main()int sum = 0;for(int i=1;i = 12;i +)int t = 1;for (int j = 1;j = i; + j)t = t * j;sum = sum + t;cout1!+2!+3!+.+12!=sumendl;return 0;/=/=/练习二第02题。/1!+2!+3!+.+12!/=#include using namespace std;/-int main()int sum = 0;for(int i = 1,t = 1;i = 12;t *= + i)sum += t;cout1!+2!+3!+.+12!=sumendl;return 0;/=/=/练习二第02题。/1!+2!+3!+.+n!/=#include using namespace std;/-int main()int n,s,i,t;coutn;s=0;t=1;for(i=1;i=n;i+)t *= i;s += t;cout1!+2!+3!+.+n!=sendl;return 0;/=/=/练习二第03题。/求“水仙花数”。/=#include using namespace std;/-int main()int n,a,b,c;for(n = 100;n 1000;n +)a = n/100;b = n%100/10;c = n%10;if(a*a*a + b*b*b + c*c*c = n)coutn is a narcissus number.endl;return 0;/=/=/练习二第03题。/求“水仙花数”。/=#include using namespace std;/-int main()for(int i = 1;i = 9;i +)for (int j =0;j = 9;j +)for (int k = 0;k = 9;k +)int a = 100*i + 10*j + k;if (i*i*i + j*j*j + k*k*k = a)couta is a narcissus number.endl;return 0;/=/=/练习二第04题。/求1000内“完数”。/=#include using namespace std;/-int main()int n,a,sum;for(n = 1;n = 1000;n +)for(a = 1,sum = 0;a = n/2;a +)if(!(n%a)sum += a;if(sum = n)coutn is a wanshu.endl;return 0;/=/=/练习二第04题。/求1000内“完数”。/=#include using namespace std;/-int main()for (int i = 2;i = 1000;i +)int sum = 1;for (int j = 2;j = i/2;j +)if (i % j = 0)sum += j;if (sum = i)couti is a wanshu.endl;return 0;/=/=/练习二第05题。/求3位对称素数。/=#include using namespace std;/-bool isPrime(int n)for (int i = 2;i n;+ i)if (n % i = 0)return false;return true;/-int main()for (int i = 100;i 1000;+ i)if (i/100 = i%10) & isPrime(i)couti是一个对称的素数!endl;return 0;/=/=/练习二第05题。/求3位对称素数。/=#include #include using namespace std;/-bool isPrime(int n)int m = sqrt(double(n);for (int i = 3;i = m;i += 2)if (n % i = 0)return false;return true;/-int main()for (int i = 1;i = 9;i += 2)for (int j = 0;j = 9;+ j)int k = 101*i + 10*j;if (isPrime(k)coutk是一个对称的素数!endl;return 0;/=/=/练习二第05题。/求3位对称素数。/=#include #include /包含数学运算的函数头文件using namespace std; /使用标准的命名空间/-int isPrime(int a);/判断是否为素数的函数声明/-int main()int num;int i,j,k; /i,j,k分别代表百位、十位、个位的位数for(num = 100;num 1000;num +)i = num/100;j = (num - i*100)/10;k = (num - i*100 - j*10)/1; /当然这里可以不用除以1if(i = k)&isPrime(num)coutnum是一个对称的素数!endl; /输出3位对称的素数return 0;/=int isPrime(int a)/判断是否为素数的函数定义int i,result; /result中0代表a不是素数、1代表a是素数for(i = 2;i = sqrt(a);i +)if(a%i = 0)result = 0;break;else result = 1;return result;/=/=/练习二第06题。/猴子吃桃。/=#include using namespace std;/-int main()int day,former,beh = 1;for(day = 9;day = 1;day -)former = (beh + 1)*2;beh = former;cout猴子共摘下桃子:formerendl;return 0;/=/=/练习二第06题。/猴子吃桃。/=#include using namespace std;/-int main()int peachs = 1;for(int i = 1;i 10;i +)peachs = (peachs + 1)*2;cout猴子共摘下桃子:peachsendl;return 0;/=/=/练习二第07题。/打印图形。/=#include #include using namespace std;/-int main()for(int i = 1;i = 10;i +)coutstring(10 - i, );coutstring(2*i - 1,%);cout= 1;j -)coutstring(10 -j, );coutstring(2*j - 1,%);coutn;return 0;/=/=/练习二第07题。/打印图形。/=#include #include using namespace std;/-int main()for(int i = 1,j = 1;i = 19;+ i,j = (i 10) ? i:20-i)coutstring(10 - j, );coutstring(2*j - 1,%);coutn;return 0;/=/=/练习二第07题。/打印图形。/=#include #include using namespace std;/-int main()for(int i = 1,j = 1;i = 19;+ i,j = (i 10) ? i:20-i)coutstring(10 - j, ) + string(2*j - 1,%)+n;return 0;/=/=/练习二第07题。/打印图形。/=#include #include using namespace std;/-int main()for(int n = 1;n = 10;n +)coutsetfill( )setw(11 - n) setfill(%)setw(2*n - 1)%endl;for(int m=1;m=9;m+)coutsetfill( )setw(m + 1) setfill(%)setw(19 - 2*m)%endl;return 0;/=/=/练习二第0801题。/打印图形。/=#include #include using namespace std;/-int main()for(int n = 1;n = 10;n +)coutsetfill( )setw(11-n) setfill(#)setw(n)# setfill( )setw(4) setfill($)setw(n)$endl;return 0;/=/=/练习二第0801题。/打印图形。/=#include #include using namespace std;/-int main()for(int n = 1;n = 10;n +)coutstring(10 -n, )+string(n,#)+ +string(n,$)+n;return 0;/=/=/练习二第0802题。/print STS./=#include #include using namespace std;/-int main()for(int n = 1;n = 10;+ n)/行循环coutstring(n, );/输出空格for(int i = 1;i = 21 - 2*n;+ i)/行内字符位循环if(i%2)coutS;/输出“”elsecoutT;/输出“”coutendl;return 0;/=/=/练习二第0802题。/print STS./=#include #include using namespace std;/-int main()for(int i = 1;i = 10;+ i)/行循环coutstring(i - 1, );for (int j = 1;j = 21 - 2*i;+ j)cout(j&1 ? S:T);coutn;return 0;/=/=/练习二第0802题。/print STS./=#include #include using namespace std;/-int main()for(int i = 1;i = 10;+ i)/行循环coutstring(i - 1, ) + S;for (int j = 1;j = 10 - i;+ j)coutTS;coutn;return 0;/=/=/练习二第09题。/求解母牛问题。/=#include using namespace std;/-int main()int c = 1,n;coutn;for (int i = 4,a = 1,b = 1,temp;i = n;i +)temp = a + c;a = b;b = c;c = temp;coutn year later,there are cows: cendl;return 0;/=/=/练习二第09题。/求解母牛问题。/=#include using namespace std;/-int main()int n, a = 1, b = 1, sum = 1, temp;/定义变量 coutn;/输入n for(int i = 4; i = n; i +)temp = a + sum; a = b; b = sum; sum = temp;/计算母牛数coutn year later,there are cows: sumendl;/输出return 0;/=/=/练习二第10题。/球下落。/=#include using namespace std;/-int main()double sum = 100,height = 100;for(int i = 1;i 10;i +,height /= 2)sum += height;cout球在第9次落地时,共经过sum米。endl;cout球在第9次落地后的反弹高度是height/2米。endl;return 0;/=/=/练习二第10题。/球下落。/=#include using namespace std;/-int main()int n;coutn;double s = -100,h = 100;for(int i = 1;i = n;i +)s = s + 2*h;h = h/2;cout球在第n次落地时,共经过s米。endl;cout球在第n次落地后的反弹高度是h米。endl;return 0;/=/=/练习二第11题。/兑钱。/=#include using namespace std;/-int main()int n = 0;for (int i10 = 1;i10 = 9;i10 +)for (int i5 = 1;i5 = 17;i5 +)for (int i1 = 1;i1 = 85;i1 +)if (10*i10 + 5*i5 + i1 = 100)n +;coutnn;return 0;/=/=/练习二第11题。/兑钱。/=#include using namespace std;/-int main()cout81n;return 0;/=/=/练习二第11题。/兑钱。/=#include using namespace std;/-int main()for(int shiyuan = 1;shiyuan = 9;+ shiyuan)for(int wuyuan = 1;wuyuan = 1)coutshiyuan:shiyuan wuyuan:wuyuan yiyuan:100 - shiyuan*10 - wuyuan*5endl;return 0;/=/=/练习二第1201题。/打印矩阵。/=#include #include using namespace std;/-int main()for(int i = 1;i = 6;i +)coutisetfill( )setw(2) ;for(int j = 1;j = 7;j +)coutsetfill( )setw(3) (i + j - 2)%7;coutendl;return 0;/=/=/练习二第1201题。/打印矩阵。/=#include using namespace std;/-int main()for(int i = 1;i 7;i +)couti ;for(int j = i - 1;j i + 6;j +)coutj%7 ;coutendl;return 0;/=/=/练习二第1202题。/打印矩阵。/=#include using namespace std;/-int main()for(int i = 1;i = 6;i +)/行循环for(int j = 1;j = 7;+ j)/列循环cout(i,j) ;/输出矩阵coutendl;return 0;/安全返回/=/=/练习二第1301题。/打印九九乘法表。/=#include #include #include using namespace std;/-int main()cout*;/输出*for(int j = 1;j = 9;+ j)/制表头横行coutsetw(5)setfill( )j;/输出有间隔的顺序数字coutendl;coutstring(46,-) + n;/打印分隔线for(int i = 1;i = 9;i +)/行循环couti;for(int k = 1;k = i;k +)/表内列循环coutsetw(5)setfill( )i*k;/输出coutendl;return 0;/安全返回/=/=/练习二第1302题。/打印九九乘法表。/=#include #include #include using namespace std;/-int main()cout*;/输出*for(int j = 1;j = 9;+ j)/制表头横行coutsetw(5)setfill( )j;/输出有间隔的顺序数字coutendl;coutstring(46,-)+n;/打印分隔线for(int i = 1;i = 9;i +)/行循环coutistring(5*(i - 1), );/留出空格for(int k = i;k = 9;k +)/表内列循环coutsetw(5)setfill( )i*k;/输出coutendl;return 0;/安全返回/=/=/打印整数-1234567的二

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论