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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

中南大学C++上机程序题答案.docx

1、中南大学C+上机程序题答案首先把以下所有内容复制到VC6.0中,然后删去注释符号适当调试就可以咯。不用谢我是雷锋 隔壁老王不过哈,那个数组的貌似有些问题呢,碰上数组算我栽了吧。/* 第一题:n为一个整数(小于10万),它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?#include#includeusing namespace std;int judge(int a) int b=sqrt(a); if(a=b*b) return 1; else return 0;void main() int i,t; for(i=-99;i100000;i+) if (ju

2、dge(i+100)&judge(i+168) coutiendl;*/*第二题:求1000之内的完全数。说明:完全数就是:除了它本身以外所有因子之和等于其本身,例如:6=1+2+3。#includeusing namespace std;void main() int a,b,sum=0; for(a=1;a=1000;a+) for(b=1;b=a/2;b+) if(a%b=0) sum=sum+b; if(sum=a) coutaendl; sum=0; */*第三题:求出 900, 1000间有偶数个因子(这里因子不含1和自身)的数有多少个,其中最小的一个?#includeusing

3、namespace std;void main() int a,b,c=0,d=0,min; for(a=1000;a=900;a-) for(b=2;b=a/2;b+) if(a%b=0) +c; if(c%2=0) +d; min=a; coutmin=min一共有:dendl; */*第四题:编写一个自定义函数:int f( int M, int N) ,f( )的功能是:对给定的正整数M和N,找出满足方程7x+4y=M的正整数解中x是偶数且y是奇数的解,其中:x,y属于1,N的范围。要求:若M和N不都是正整数,则结束函数并返回1;只有M和N都是正整数时,才继续求解操作,用二重循环进行求

4、解:(1)在函数中输出满足条件的正整数解x和y(2)并且使函数值返回满足条件的正整数解的组数#includeusing namespace std;int f(int M,int N) int x,y,k=0; if(M0|N0) cout0)&N=x;x+=2) for(y=1;Ny;y+=2) if(M-7*x-4*y=0) coutx=x y=yendl; +k; coutk=k; return k;void main() int M,N; coutM; coutN; f(M,N);*/*第五题:编写一个自定义函数:int f( char x, int N) ,f( )的功能是:对给定的

5、字符c和整数N,用c代表的符号打印一个N行的图案,每行开头没有任何空格。比如,当c为*且N为5时,打印的图案如本题图所示。且函数值返回1。#includeusing namespace std;int f(char x,int n) int i,j; for(i=1;i=n;i+) for(j=1;j=i;j+) coutx; coutendl; return 0;int main() f(*,5);return 0;*/*第六题:编写一个自定义函数:int f( int N) ,f( )的功能是:对给定的正整数N,打印一个N行N列的由A、B、C以及空格 符号组成的方阵图案。比如,当N为5时,

6、打印的图案如本题图所示。且函数值返回1。#includeusing namespace std;int f(int N) int i,j; char a100100; for(i=0;i=2*N-1;i+) for(j=0;ji&i%2=0&j%2=0) aij=B; else if(j%2!=0|i%2!=0) aij=t; else aij=C; coutaij; return 1;void main() f(5);*/*第七题:根据下列要求和提示,编写一个函数f(N)判断某数N是否为完全数,N由主函数给出;如果N是完全数则函数值返回1,N不是完全数则函数值返回0。完全数定义如下:如果一个

7、数恰好等于它的因子之和(因子包括1,不包括数本身),则称该数为完全数。如:6的因子是1、2、3,而6=1+2+3,则6是个完全数。#includeusing namespace std;int f(int N);void main() int N; cinN; if(f(N)=1) coutN是完全数endl; else coutN不是完全数endl;int f(int N) int a,sum=0; for(a=1;a=N/2;a+) if(N%a=0) sum+=a; if(N=sum)return 1;elsereturn 0;*/*第八题:编写程序,求e的值,e1+1/1!+1/2!+

8、1/3!+1/4!+.,最后一项的值小于1e-6。#includeusing namespace std;int jiecheng(int N) int i,c=1; for(i=1;i=N;i+) c=c*i; return c;void main() double e=1.0; int t; for(t=1;(jiecheng(t)=100000000;t+) e=e+1.0/jiecheng(t);couteendl;*/*第九题:有十进制数字a,b,c,d和e,求满足式子:abcd*e=dcba(a非0,e非0非1)的四位数中:(1)共有多少个?(2)最小的abcd;(3)与之相对应的

9、e。#includeusing namespace std;int f(int n)int m,sum=0; while(n) m=n%10; sum=sum*10+m; n=n/10; return sum;void main() int i,j=0,k; for(i=4999;i=1000;i-) if(f(i)/i*i=f(i)&f(i)i) j+; k=i; coutjendl; coutkendl; coutf(k)/k;*/*第十题:有一个7层灯塔,每层所点灯数都等于该层上一层的两倍,灯的总数是381盏,求:塔底灯数?第几层的灯数为48?#includeusing namespac

10、e std;int f(int n) if(n=1) return 1; else return 2*f(n-1); void main() int i,x,sum=0; for(x=1;x100;x+) for(i=1;i=7;+i) sum+=x*f(i); if(sum!=381) sum=0; else coutx=xendl; */*第十一题:有3个红球,5个白球,6个黑球,从中任意取出8个球,且其中必须有白球,请求出共有多少种取法?#includeusing namespace std;int main() int x,y,sum=0; for(x=1;x=5;x+) for(y=

11、0;y=3;y+) if(8-x-y)=6) sum+; coutsum; return 0;*/*第十二题:求数列1,3,3,3,5,5,5,5,5,7,7,7,7,7,7,7。求:第40项的值;值为17的第1个数是数列中第几项?#includeusing namespace std;void main() int i,sum=0; for(i=1;sum=40;i+=2) sum+=i; i-=2; coutiendl; sum=0; for(i=1;i17;i+=2) sum+=i; coutsum+1endl;*/*第十三题:计算p的近似值,直到最后一项的绝对值小于10-8为止,近似公

12、式为#includeusing namespace std;int f(int N) if(N%2=0) return (-1); else return 1;void main() int i,c=0;double p=0; for(i=1;i100000000;i+=2) c=c+1; p+=1.0/i*f(c); coutpendl;*/第十四题:用牛顿迭代法求方程3x3-4x2-5x+13=0在x=1附近的根,要求精度为10-6。/*#include#includeusing namespace std;double y(double x) double y; y=3*x*x*x-4*

13、x*x-5*x+13; return y;double k(double x) double y; y=9*x*x-8*x-5; return y;void main() double x=1.0; while(1) int a=(x-y(x)/k(x)*1000000; int b=x*1000000; if(a=b) coutsetprecision(7)x; break; else x=x-y(x)/k(x); */*第十五题:编写一个自定义函数:int f( int M, int N) ,函数f的功能是:对给定的正整数M和N,找出满足方程5x+6y=M的正整数解中x和y都是偶数的解。要

14、求:若M和N不都是正整数,则结束函数并返回1;只有M和N都是正整数时,且x,y1,N, 才继续求解操作,并用二重循环进行求解:(1)在函数中输出满足条件的正整数解x和y,(2)使函数值返回满足条件的正整数解的组数。#includeusing namespace std;int f(int M,int N) int x,y,k=0; if(M0|N0) cout0)&N=x;x+=2) for(y=2;Ny;y+=2) if(M-5*x-6*y=0) coutx=x y=yendl; +k; coutk=k; return k; void main() int M,N; coutM; coutN

15、; f(M,N);*/*第十六题:求s=2+22+222+.+222.2的和,即第n个加数是一个n位的整数,且各数位上的数字均为2,例如当n=4时,s=2+22+222+2222。要求设计一个函数int f(int n)求每一个加数,在main()中用累加求和方式求出总和。#includeusing namespace std;int f(int N) int i,p=0; for(i=1;i=N;i+) p=p*10+2; return p;int main() int s=0,i,n; coutn; for(i=1;i=n;i+) s=s+f(i); cout2+22+222=sendl;

16、 return 0;*/第十七题:所有能被13整除又能被17整除且末位不是偶数的三位数有几个?最大的一个?/如何处理多个数中输出最大的/*#includeusing namespace std;int main() int i=100,j=0,a; for(;i=999;i+) if(i%13=0&i%17=0&i%2!=0) a=i; j+; couta jendl; return 0;*/第十八题:基本解决,有两个疑问,为何不能执行,为何写1.0/*#includeusing namespace std;double f(int n) if(n=1) return 1.0; else if

17、(n=2) return 2.0; else return f(n-1)+f(n-2);void main() double sum=0; int i; for(i=1;i=20;i+) sum+=f(i)/f(i+1); coutsumendl; coutf(i)/f(i+1);*/*/*第二十题:从键盘上输入一个正整数,判别它是否为一回文数。如:123321#includeusing namespace std;void main() int a,b,c=0,d; cout请输入正整数d;b=d; while(b) a=b%10; c=c*10+a; b=b/10; if(d=c) coutyes; else coutNO;*/

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

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