ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:22.45KB ,
资源ID:24331193      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24331193.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ZC++编程基础题训练答案413.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ZC++编程基础题训练答案413.docx

1、ZC+编程基础题训练答案4131、输入3个数,求最大数。#include using namespace std;int main()int a,b,c,max;cout请输入三个数字:abc;max=(ab)?a:b;if(cmax)max=c;cout最大值:maxendl;return 0;2、韩信点兵:有一个数,用3除余2。用5除余3。用7除余2。求满足条件的最小数。#include using namespace std;int main()int a;for(a=1;a1000;a+)if(a%3=2&a%5=3&a%7=2)couta;break;return 0;3、求1+2+

2、3+100#include using namespace std;int main()int s=0; int a=1; do s=s+a; a=a+; while(a101);coutsendl;return 0;4、求1-2+3-4+-100#include using namespace std;int main() int a,s=0,s1=0,s2=0;for(a=1;a-101;a=a-2)s2=s2+a; s=s1+s2; coutsendl;return 0;5、求1+1/2+1/3+1/100#include using namespace std;void main()

3、float a,m; float s=0;for(a=1;a101;a+)m=1/a;s=s+m;couts=sendl;6、求输入n,求n!(需判断n的合法性)递归调用#include using namespace std;int fac(int n) if(n=0) return 1; else return fac(n-1)*n;int main()while(1) int x,y,n; coutx; fac(x); coutfac(x)endl;break;return 0;7、求1!+2!+3!+10!#include using namespace std;int main()i

4、nt s=0;int t=1;int n;for(n=1;n11;n+)t=t*n;s=s+t;cout1!+2!+3!+.+10!=sendl;return 0;8、求1+1/2!+1/3!+1/n!,直到1/n!1E-5为止第一种方法:#include using namespace std;void main()double s=0;double t=1;double n=1;dot=t*n;s=s+1/t;n+;while (t1e5);cout1/1!+1/2!+1/3!+.+1/n!=sendl;第二种方法:#include using namespace std;void mai

5、n()double sum=0.0; /结果double now=1.0; /现在的1n!double cnt=2.0; /现在的nwhile(now=1e-5)sum+=now;now/=cnt;cnt+=1.0;coutsumendl;9、用公式求ex=1+x+x2/2!+x3/3!+xn/n!。n取20。#includeusing namespace std;int pow(int x, int n);int f1(int n);int main(int argc, char* argv) int x, n; double ex = 1; cin x; cin n; for (int i

6、=1; i=n; i+) ex += pow(x, i) / (f1(i) * 1.0); cout ex endl; system(pause); return 0;int f1(int n) int s = 1; for (int i=2; i=n; i+) s *= i; return s;int pow(int x, int n) int s = 1; for (int i=1; i=n; i+) s *= x; return s;10、假定f1=1,f2=1;fn=fn-1+fn-2。输出前50项的值,且要求每行输出5个值#include #includeusing namespac

7、e std; int f(int n) int sum;if (n=2)return 1;else sum=f(n-1)+f(n-2);return sum;coutn;f(n);for(i=1;i=n;i+)coutf(i): f(i) ;if(i%5=0) coutendl;return 0; 11、判断一个数是否为素数方法1:# include# includeusing namespace std;int main()int i,n,k;cout请输入一个数:n;k=sqrt(n);for(i=2;ik)coutn是素数。endl;else coutn不是素数。endl;return

8、0;方法2:#include #includeusing namespace std; int main() int i,n,m;cout请输入一个数:n;m=sqrt(n);for(i=2;im) coutn是素数。endl; else coutn不是素数。endl;return 0; 12、输出2-1000中的素数及个数。且要求每行输出8个素数。 方法1:#include #include int main() int n=0, i, j,w,k; for(i=2;i=2000; i+) w=1; k=sqrt(i); for (j=2; j=k; j+) if (i%j=0) w=0;

9、break; if (w) +n; if (n%8=0) coutiendl; else couti ; coutendl; cout个数n=nendl; return 0;方法2:#include #include using namespace std;int main()int i,j,n=0;for(i=2;i2001;i+) for(j=2;j=i;j+) if(j=i) couti ; n+; if(n%8=0) coutendl; if(i%j=0) break; coutendl;cout个数为n:nendl;return 0;13、输入两个整数,求最大公约数和最小公倍数。#i

10、ncludeusing namespace std;int fun1(int a,int b);int fun2(int a,int b);int main()int a,b; cout请输入两个整数:ab; int fun1(int a,int b); int fun2(int a,int b); cout最大公约数:fun1(a,b)endl; cout最小公倍数:fun2(a,b)endl; return 0;int fun1(int a,int b)int m,i; m=a=1;i-) if(a%i=0&b%i=0) break; return i;int fun2(int a,int

11、 b) int n,j; n=ab?a:b; for(j=n;j=a*b;j+) if(j%a=0&j%b=0) break; return j;14、 输入一个非0的一位整数x,输入一个整数n。输出n位整数x x xx。#include#includeusing namespace std;int main() int m,i,s,x,n,j; cout输入一个整数x:x; cout输入一个整数n:n; s=0; for(i=0;i=n;i+) j=pow(10,i); s=s+j; m=x*s; cout结果:mendl; return 0;15、输入n、a。求sn=a+aa+aaa+aa

12、,其中a是一个非0的一位整数。#include#includeusing namespace std;int fun(int a,int b);int main() int n,a,s,i,k; cout输入一个整数n:n; cout输入一个整数a:a; s=0; for(i=0;in;i+) k=fun(a,i); s=s+k; coutSn=sendl; return 0;int fun(int a,int b)int m,i,s,j; s=0; for(i=0;i=b;i+) j=pow(10,i); s=s+j; m=a*s;return m;16、输入任意的正整数,将其各位分离出来。

13、求它是几位数,求各位上数字的和,求其逆值。#include#includeusing namespace std;void main() int x,y,m,n,i,j=1,k=0,a20;coutm;y=m;coutendl;for(i=1;i+) j*=10; n=m/j; ai=n; k+; if(n1) break;cout您输入的位数是:kendl;int b=1,c,d=0;for(i=1;i=k;i+) b*=10; /coutbendl;cout0;i-) b=b/10; c=m/b; m=m-c*b; d+=c; coutc ;coutendl;/cout你输入的数字是k位数

14、n;cout各位上的数字之和为:dendl;x=0;do x=x*10+y%10; y=y/10;while(y!=0);cout逆序输出为:x;coutendl;17、一个正整数如果恰好等于它的因子之和,这个数称为“完数”,如6=1+2+3。求1000以内所有的完数,每行5个。.#include #include using namespace std;int main()int m,i;cout1000以内的完数有:;for(m=1;m1001;m+)int c=0,n=0; for(i=1;im;i+) if(m%i=0) c=c+i; if (c=m) n+; coutc ; if(n

15、%5=0) coutendl; coutendl;return 0;18、用迭代法求x=a的平方根。求平方根的迭代公式为xn+1=0.5(xn+a/xn) 。要求前后两次求出的x的差的绝对值小于1e-5为止。.#include #include #include using namespace std;int main()double x1,x2,a,b;x2=0;x1=1.0;b=1.0;cina;while(b=1e-5)x2=(x1+a/x1)/2;b=fabs(x2-x1);x1=x2;coutx2endl;return 0;19、用牛顿迭代法求方程在1.5附近的根 2x3-4x2+3

16、x-6=0#include #include #include using namespace std;int main()double x=1.5,x0,f,f1;do x0=x; f=2*x0*x0*x0-4*x0*x0+3*x0-6; f1=6*x0*x0-8*x+3; x=x0-f/f1; while(fabs(x-x0)=1e-5);coutx0=x0endl;return 0;20、用二分法求上面的方程在(-10,10)之间的根#include using namespace std;double fun(double x)return 2*x*x*x-4*x*x+3*x-6;do

17、uble judge(double e,double a,double b) double c; c=(a+b)/2; if(b-a=e) return c; else if(fun(c)=0) return c; else if(fun(a)*fun(c)0) /b=c; return judge(e,a,c); else /a=c; return judge(e,c,b); int main() double e; cout请输入精确度:e; coutjudge(e,-10,10)endl; return 0;21、打印形状为直角三角形的九九乘法表。#include using names

18、pace std;int main()int i,j,k;for(i=1;i=9;i+) for(j=1;j=i;j+) coutjxi=; k=i*j; coutk ; if(i=j) coutendl; return 0;22、百马百担问题。有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大中小马多少匹,共有多少组解?.#include using namespace std;int main()int x,y,z;int m=0;for(x=1;x100;x+) for(y=1;y100;y+) for(z=1;z100;z+) if(x+y+z=100)&(6*

19、x+4*y+z=200) m+; cout第m种技术指导文件。endl; cout大马:x ; cout中马:y ; cout小马:zendl; return 0;23、数列1,2,2,3,3,3,4,4,4,4,5, 问第100是多少?#include using namespace std;int main()int i,m,n=0; for(i=1;i101;i+) for(m=1;m=i;m+) n+; if(n=100) cout第100个数:iendl; return 0;24、求任意一个整数的十位上的数字。#include using namespace std;int main

20、()int m,n,x;coutm;n=m%10;m=(m-n)/10;x=m%10;coutendl;cout其十位数为:xendl;return 0;25、输入三个实数,判断能否构成三角形。若能,再说明是何种类型的三角形。#include using namespace std;int main()int a,b,c;coutabc;if(a+b)c&(a+c)b&(b+c)a&(a-b)c&(a-c)b&(b-c)a). if(a=b|a=c|b=c) cout是等腰三角形; else if(a=b&a=c) cout是等边三角形; else if(a*a+b*b=c*c|a*a+c*c

21、=b*b|b*b+c*c=a*a) cout是直角三角形; else cout是普通三角形;else cout不可以构成三角形。endl;return 0;26、输入任意的a,b,c求一元二次方程ax*x+bx+c=0的根。#include #include using namespace std;int main()int a,b,c;cout请输入任意三个数a,b,c:abc; float x1,x2,d; d=sqrt(b*b-4*a*c); if(d=0) x1=(-b+d)/(2*a); x2=(-b-d)/(2*a); coutx1=x1endl; coutx2=x2endl; e

22、lse cout无解endl;return 0;27、将百分制成绩转换为五级制成绩#include using namespace std;int main() int s; couts; if(s100|s0) cout0&s60) cout=60&s80) cout=80&s90) cout=90&s=100) cout卓越; return 0;28、输入年月日,判断它是该年的第多少天。#include using namespace std;int main()int year,month,day,days=0,i;cout请输入年月日endl;coutyear;coutmonth;coutday; if(year10000|year0|month13|day31). cout有误!endl; else if(year%4=0&year%100=0|year%400=0) for(i=1;imonth;i+) if(i=1|i=3|i=5|i=7|i=

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1