您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 中南大学c++期末考试编程题(原创)
本文章为中南大学2014级0308140312号学生原创,仅供学习交流使用,任何打印社以及学习机构不得用于非法商业用途,违者追究法律责任.题目求Sn=a+aa+aaa+aaaa+…+aa…a(n个a)之值,其中a是一个数字,n表示a的位数。例如:2+22+222+2222(此时a=2,n=4)#includeiostreamusingnamespacestd;intmain(){intSn(0),a,n,i,p;cout请输入一个数endl;cina;cout请输入这个数的位数endl;cinn;for(i=1;i=n;i++){Sn+=a;a=a*10+a;}coutSn=Snendl;system(pause);return0;}题目从键盘上输入一个正整数,判别它是否为一回文数。如:123321#includeiostreamusingnamespacestd;intf(intx){inth=0;intm=0,r,u=x;while(x0){r=x%10;m=m*10+r;x/=10;}if(m==u)h+=1;returnh;}intmain(){inta;cout请输入一个数endl;cina;if(f(a)==1)cout这个数是回文数endl;elsecout这个数不是回文数endl;system(pause);return0;}题目n一个整数(小于10万),它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?#includeiostream#includecmathusingnamespacestd;intmain(){longinti;doublej,k;intp,q;for(i=1;i=100000;i++){j=sqrt(i+100);k=sqrt(i+268);p=(int)j;q=(int)k;if(p*p==j*j&&q*q==k*k)coutiendl;}cout以上为该数可能的值endl;system(pause);return0;}题目求1000之内的完全数。Ÿ说明:完全数就是:除了它本身以外所有因子之和等于其本身,例如:6=1+2+3。#includeiostreamusingnamespacestd;intmain(){inti,j,m;for(i=1;i=1000;i++){m=0;for(j=1;j=i/2;j++){if(i%j==0)m+=j;}if(m==i)coutiendl;}cout以上为1000以内的全部完全数endl;system(pause);return0;}题目Ÿ求出[900,1000]间有偶数个因子(这里因子不含1和自身)的数有多少个,其中最小的一个?#includeiostreamusingnamespacestd;intmain(){inti,j,k,s(0),q(1000);for(i=900;i=1000;i++){k=0;for(j=2;ji/2;j++){if(i%j==0)k+=1;}if(k%2==0)s+=1;if(iq)q=i;}cout一共有s个数endl;cout最小的一个数是:qendl;system(pause);return0;}题目Ÿ编写一个自定义函数:intf(intM,intN),f()的功能是:对给定的正整数M和N,找出满足方程“7x+4y=M”的正整数解中x是偶数且y是奇数的解,其中:x,y属于[1,N]的范围。Ÿ要求:若M和N不都是正整数,则结束函数并返回-1;只有M和N都是正整数时,才继续求解操作,用二重循环进行求解:(1)在函数中输出满足条件的正整数解x和y,(2)并且使函数值返回满足条件的正整数解的组数。#includeiostreamusingnamespacestd;intf(intM,intN){intflag=-1;intx,y,k(0);if(M0&&N0){for(x=1;x=N;x++)for(y=1;y=N;y++)if((7*x+4*y==M)&&(x%2==0&&y%2==1)){k+=1;coutx=x\ty=yendl;}flag=k;}returnflag;}intmain(){intM,N;cout请输入两个正整数endl;cinMN;cout一共有f(M,N)组解endl;system(pause);return0;}题目写一个函数找出一个整数数组中,第二大的数(microsoft)#includeiostreamusingnamespacestd;intf(inta[],intn){inti,j,t,*p;p=&a[n-1];for(i=0;i=n-1;i++){for(j=0;j=n-1;j++){if(a[j+1]a[j]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}return*p;}intmain(){inti;int*q=newint[i];cout请输入数组的长度endl;cini;cout请输入i个数endl;for(intj=0;ji;j++)cinq[j];cout该数组第二大的数为:f(q,i)endl;system(pause);return0;}题目写一个函数,找出给定字符串中数字字符(即’0’—‘9’这10个数字)的个数(如字符串“olympic2000”中数字字符的个数为4个。函数的原型为:intCalcDigital(char*str);函数参数:str为所要处理的字符串。函数返回值:所给字符串中数字字符的个数。#includeiostreamusingnamespacestd;intCalcDigital(char*str){inti,s=0;for(i=0;str[i]!='\0';i++){if(str[i]='0'&&str[i]='9')s++;}returns;}intmain(){char*a=newchar;cout请输入一个字符串endl;cina;cout数字字符个数一共有:CalcDigital(a)个endl;system(pause);return0;}题目编写一个自定义函数:intf(charx,intN),f()的功能是:对给定的字符c和整数N,用c代表的符号打印一个N行的图案,每行开头没有任何空格。比如,当c为*且N为5时,打印的图案如本题图所示。且函数值返回1。#includeiostreamusingnamespacestd;intf(charx,intN);intmain(){f(*,5);return0;}#includeiostreamusingnamespacestd;intf(charx,intN){inti,j;for(i=1;i=N;i++){for(j=1;j=i;j++)coutx;coutendl;}return1;}intmain(){cout函数返回值为f('*',5)endl;system(pause);return0;}题目编写一个自定义函数:intf(intN),f()的功能是:对给定的正整数N,打印一个N行N列的由A、B、C以及空格符号组成的方阵图案。比如,当N为5时,打印的图案如本题图所示。且函数值返回1。#includeiostreamusingnamespacestd;intf(intN);voidmain(){f(5);}#includeiostreamusingnamespacestd;intf(intN);voidmain(){f(5);}intf(intN){inti,j;for(i=1;i=N;i++){for(j=1;j=N;j++){if(i==j||j==1)coutA;elseif(ij)coutB;elsecoutC;}coutendl;}system(pause);return1;}题目编写函数f(),计算具有n个元素的一维数组a中每组相邻两个数的差,找出其中的最大差作为函数值返回。#includeiostreamusingnamespacestd;#defineM5intf(inta[],intn);voidmain(){inti,a[M];for(i=0;iM;i++)cina[i];coutTheresultisf(a,M)endl;}#includeiostreamusingnamespacestd;#defineM5intf(inta[],intn){inti,q,j;ints=0;for(i=0;in-1;i++){j=i+1;q=a[j]-a[i];if(q0)q=0-q;if(qs)s=q;}returns;}intmain(){inti,a[M];cout请输入M个数endl;for(i=0;iM;i++)cina[i];coutTheresultisf(a,M)endl;system(pause);return0;}题目根据下列要求和提示,编写一个函数f(N)判断某数N是否为“完全数”,N由主函数给出;如果N是“完全数”则函数值返回1,N不是“完全数”则函数值返回0。“完全数”定义如下:如果一个数恰好等于它的因子之和(因子包括1,不包括数本身),则称该数为“完全数”。如:6的因子是1、2、3,而6=1+2+3,则6是个“完全数”。#includeiostreamusingnamespacestd;intf(intN);voidmain(){intN;cinN;if(f(N)==1)coutNShiWanQuanShu!endl;elsecoutNBuShiWanQuanShu!endl;}#includeiostreamusingnamespacestd;intf(intN){inti;ints=0;intflag=0;for(i=1;iN;i++){if(N%i==0)s+=i;}if(s==N)return(flag=1);returnflag;}voidmain(){intN;coutpleaseinputanumberendl;cinN;if(f(N)==1)coutNShiWanQuanShu!endl;elsecoutNBuShiWanQuanShu!endl;system(pause);}题目编写程序,求e的值,e≈1+1/1!+1/2!+1/3!+1/4!+...,最后一项的值小于1e-6。#includeiostreamusingnamespacestd;intmain(){doublei=1,s=2;do{i*=i+1;s+=1/i;}while(1/i1e-6);coute≈sendl;system(pause);return0;}题目有十进制数字a,b,c,d和e,求满足式子:abcd*e=dcba(a非0,e非0非1)的四位数中:(1)共有多少个?(2)最小的abcd;(3)与之相对应的e。#includeiostreamusingnamespacestd;intmain(){inta,b,c,d,e,p;intk=0;intq=10000;for(a=1;a=9;a++)for(b=0;b=9;b++)for(c=0;c=9;c++)for(d=0;d=9;d++)for(e=2;e=9;e++){if((a*1000+b*100+c*10+d)*e==(d*1000+c*100+b*10+
本文标题:中南大学c++期末考试编程题(原创)
链接地址:https://www.777doc.com/doc-6497700 .html