c++课后习题答案.pdf
《c++课后习题答案.pdf》由会员分享,可在线阅读,更多相关《c++课后习题答案.pdf(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2-6 对 n(0)个人进行分班,每班k(0)个人,最后不足k 人也编一班,写出能编班数的表达式。#include using namespace std;void main()(int n,k;coutvv”请输入总人数n:cinn;coutvv”请输入每班的人数k:”;cink;cout,n=n,n,k=,k en d l;if(n%k=0)8 戊”一共有”0/1”个班 M匕”每个班的人数为:H k en d l;elsecoutvv”一共有“vvn/k+kv”个班“v”其中有一个班的人数为:”vn%kvv“Nv”其他每个班的人数为:,k en d l;)3-1#include#inclu
2、de using namespace std;void main()(double y,x;cout”请输入X的值:”;cinx;if(x5)y=fabs(x);else if(x20)y=3*x*x-2*x+l;elsey=x/5;couty 的值为:yendl;)3-2#include#include using namespace std;void main()double a,b,c,y;coutv”方程式为:a*x*x+b*x+c=Ovvnv”请分别输入 a,b,c 的值:;c in a b c;coutv“a=vvafnvvb=vvbvnvvc=vvcvvendl;y=b*b-4*
3、a*c;if(y0)coutvv“方程无解”;else if(y=O)coutvv”方程的解为:-b/(2*a);elsecoutvv”方程的解为:(-b+sqrt(y)/2*an,(-b-sqrt(y)/2*aendl;3-3#include using namespace std;void main()(double p,s;coutv”请输入工资数目:”;cins;while(s0)(coutvv”你输入的工资数目有误,请正确的数目:vvendl;cins;)int k=s/1000;switch(k)(case 0:p=0;couts-s*pendl;break;case 1:p=0.
4、05;couts-s*pendl;break;case 2:case 3:case 4:p=0.08;couts-s*pendl;break;case 5:case 6:case 7:p=0.15;couts-s*pendl;break;default:p=0.20;couts-s*pendl;3-4#include using namespace std;void main()(int n=l;double x,sum;x=l;sum=l;while(l/x=le-6)(x=x*n;n+;sum+=l/x;)coutsumendl;3-5#include using namespace st
5、d;void main()(int a,b,c,i,n;cout”请输入项数n 的值:cinn;a=l;b=2;i=0;double sum=0;while(in)break;sum+=x;c=a+b;i+;sign=l;if(i%2=0)sign=-l;y=sign*c/b;sum+=y;if(in)break;b=a+c;i+;sign=1;if(i%2=0)sign=-l;z=sign*b/a;sum+=z;a=c+b;)coutsumendl;3-5#include using namespace std;int f(int);void main()(double i,n=20,b=l
6、;double sigh=l;double sum=0;for(i=l;i=n;i+4-)(sum=sum+(b+f(i)/b)*sigh;sigh=-sigh;b=(b+f);)coutvv”前 20 项和为:“vvsumvvendl;)int f(int a)(double yl=l,y2=l,y,j;if(a=l)return yl;else if(a=2)return y2;else(for(j=3;j=a;j+)y=yl+y2;yl=y2;y2=y;)return y;或#include using namespace std;double f(int n)(double a,b,c
7、,i,y;a=l;b=2;if(n=l)y=a;return(y);else if(n=2)y=b;return(y);)elsefor(i=3;i=n;i+)c=a+b;a=b;b=c;)y=c;)return(y);)double g(int n)(double a,b,c,i,y;a=2;b=3;if(n=l)y=a;return(y);else if(n=2)y=b;return(y);)elsefor(i=3;i=n;i+)c=a+b;a=b;b=c;y=c;)return(y);)void main()(double n=20,sum=0,sign=1;for(int i=l;i=
8、20;i+)sum+=g(i)/f(i)*sign;sign=-sign;coutv这个数列的前20项之和为:”sumendl;3-6#include using namespace std;void main()int n;coutv所求水仙花数为:vvendl;for(n=100;n1000;n+)int a,b,c;a=n/100;b=(n-100*a)/10;c=n-100*a-10*b;if(n=a*a*a+b*b*b+c*c*c)coutnendl;或#include#include using namespace std;void main()int n;cout 所求水仙花数为
9、:Hendl;for(n=100;n1000;n+)(int a,b,c;a=n/100;b=(n-100*a)/10;c=n-100*a-10*b;if(n=pow(a,3)+pow(b,3)+pow(c,3)coutnendl;)3-7#include using namespace std;void main()(int n,i;i=0;coutvv”各个数位的数字之和等于11的数为:“vvendl;for(n=100;n1000;n+)(int a,b,c,d;a=n/100;b=(n-100*a)/10;c=n-100*a-10*b;d=a+b+c;if(d=ll)(i+;c o u
10、 t n,;if(i%5=0)coutendl;)coutvvendlvv”这样的整数的个数为:H i en d l;)3-8#include using namespace std;void main()int d,n,x,y;for(d=0;d10;d+)for(n=0;n 13;n+)x=36-d-n;y=4*d+3*n+x/2;if(y=36&x%2=0)coutvc”男人的数量为:v v d v c n Wv”女人的数量为:nArV小孩的数量为:vvxvvendl;)3-9#inciude using namespace std;void main()(int i,a;coutvv”
11、1000以内的所有完数分别是:nendl;for(i=l;il000;i+)(int sum=0;for(a=l;a=i;a+)if(i%a=O)(sum+=a;if(sum=i)coutsum endl;3-11#include using namespace std;int f(int xjnt y)(int a;a=x*y;return(a);int g(int x,int y)int a=21,b,t;if(xy)b=(a*y)/(x*y);elseb=(a*x)/(x*y);return(b);)void main()(coutvv”一共能听到鞭炮声的次数是:vf(3,21)-g(5
12、,6)-g(6,7)-g(5,7)endl;4-1#include using namespace std;int f(int ajnt b)(int i,y;fbr(i=l;i=a;i+)if(a%i=O&b%i=O)y=i;return(y);)int g(int a,int b)(int c,d,y,s,i;s=l;fbr(i=l;i=a;i+)c=a%i;d=b%i;if(c=O&d=O)a=a/i;b=b/i;s=s*i;i=l;y=a*b*s;)retum(y);)void main()int a,b;coutv”请输入两个整数:endl;cin a b;c o u t a 和 v
13、vbvv”的最大公约数为:n f(a,b)endl;coutvvavv和“v v b v v”的最小公倍数为:ng(a,b)endl;4-2#include using namespace std;#define PI 3.1416float l(float r)(float a;a=2*PI*r;return(a);)float s(float r)(float a;a=PI*r*r;return(a);)void main()(int r;cout 请输入圆的半径大小数值:vendl;cinr;coutvv半径为“v v r”的圆的周长为:”1(1)W同 半径为“1”的圆的面积为:s(r)
14、endl;)4-3#include using namespace std;void main()(int x,y;int getPower(int,int);coutvv”计算x 的 y 次累,请你输入x 和 y 的值:uendl;cin x y;coutvxv的 v v y v 次慕等于:getPower(x,y)endl;)int getPower(int x,int y)int i,a;a=l;for(i=l;i=y;i+)a*=x;return(a);)4-4#include#include using namespace std;void main()(double a,b,c;d
15、ouble area(double,double,double);cout”请输入三角形的各边边长值:“endl;c in a b c;while(a+bc&b+ca&a+cb)coutv你输入的边长值不符合(a+bc&b+cva&a+cb)要求,请重新输入:endl;cin a b c;coutvv”所求的三角形的面积为:vvarea(ab,c)vvendl;double area(double j,double k,double 1)(double s,y,f;s=(j+k+l)/2;y=s*(s-j)*(s-k)*(s-l);f=sqrt(y);return(f);)4-5#includ
16、e using namespace std;void main()(int i,n;double x,sum;sum=l;n=l;cout”请输入 x 的值:le-6;i+)n=i;sum+=f(x,n);)coute 的 x 次方等于:nsum endl;)double f(double x,int n)(double c,sj,y;j=1;s=l;for(c=1 ;c=n;c+)(s*=x;j*=c;)y=s/j;retum(y);)5-1#include using namespace std;void main()(int a23,ij;coutvv请你输入要求和的数:vvendl;f
17、or(i=0;i2;i+)for(j=0;j3;j+)cinaij;for(i=0;i2;i+)for(j=0;j3;j+)coutna,i,j,=,a ij,coutendl;int sum=0;for(i=0;i2;i+)for(j=0;j3;j+)sum+=aij;)coutv”这个数组所有元素的和是:,endlsumendl;)5-2#include using namespace std;void main()i n t a 3 3 ,i,j;c o u t v v”请你输入要求和的数:”v v e n d l;fo r(i=0;i 3;i+)fo r(j=0;j 3;j+)c i
18、n a i j ;fb r(i=O;i 3;i+)fo r(j=0;j 3;j+)c o u t v v a ”v v i v Tv v Tv j v T v =v v a i j v M;c o u t e n d l;i n t s u m 1=0;fo r(i=0;i 3;i+)(fo r(j=0;j 3;j+)i f(j=Ds u m l+=a i j ;)i n t s u m 2=0;fo r(i=0;i 3;i+)fo r(j=0;j 3;j+)i f(j=2-i&j!=i)s u m 2+=a i j ;)c o u t ”这个矩形方阵中两条对角线上的元素之和为:s u m l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 课后 习题 答案
限制150内