C++编程练习题大全带答案_第1页
C++编程练习题大全带答案_第2页
C++编程练习题大全带答案_第3页
C++编程练习题大全带答案_第4页
C++编程练习题大全带答案_第5页
免费预览已结束,剩余11页可下载查看

下载本文档

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

文档简介

1、一、简单问题:5.编程计算:1!+2!+3!+20!,并将结果输出.输出格式:1!+2!+3!+20!=表达式的值packagemoreEasy;publicclassThe5thpublicstaticvoidmain(String口args)longsum=0;for(inti=1;i<=20;i+)longr=1;for(intj=1;j<=i;j+)r*=j;sum=sum+r;/System.out.print("r="+r);if(i<20)System.out.print(i+"!+");elseSystem.out.pr

2、int(i+”!="+sum);1 .编程求下列式子的值,y=1-1/2+1/3-1/4+1/99-1/100并将结果输出,格式为:1-1/2+1/3-1/4+1/99-1/100=表达式的值publicclassPorgpublicstaticvoidmain(String口args)doublesum=0;for(doublei=1;i<=100;i+)sum=sum+Math.pow(-1,i-1)*(1/i);System.out.print("1-1/2+1/3-1/4+-+1/99-1/100="+sum);2 .请编程实现:由键盘输入的任意一组

3、字符,统计其中大写字母的个数m和小写字母的个数n,并输出nn中的较大者。importjava.util.Scanner;publicclassProg2publicstaticvoidmain(String口args)intm=0,n=0;Scannercin=newScanner(System.in);Stringstr=cin.nextLine();for(inti=0;i<str.length();i+)(if(str.charAt(i)>'A'&&str.charAt(i)<='Z')m+;elsen+;if(m>

4、n)(System.out.println(m);elseSystem.out.println(n);13 .编程,求全部水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。如:153=13+53+33。publicclassProg3publicstaticvoidmain(String口args)inta,b,c;for(a=1;a<=9;a+)for(b=0;b<=9;b+)for(c=0;c<=9;c+)if(a*100+b*10+c=a*a*a+b*b*b+c*c*c)System.out.println(a*100+b*10+c);4 .请编制程序判

5、断输入的正整数是否既是5又是7的整倍数。若是,则输出yes;否则输出no。importjava.util.Scanner;publicclassProg4publicstaticvoidmain(Stringargs)Scannercin=newScanner(System.in);inti=cin.nextInt();if(i%5=0&&i%7=0)System.out.print("yes");elseSystem.out.print("no");)90分以上为A',8089分5 .请编程实现:对于给定的一个百分制成绩,输出相

6、应的五分制成绩。设:为B',7079分为C',6069分为D',60分以下为E'。importjava.util.Scanner;publicclassProg5publicstaticvoidmain(String口args)Scannercin=newScanner(System.in);intm=cin.nextInt();if(m>=60&&m<=69)System.out.print("D");elseif(m>=70&&m<=79)System.out.print("

7、;C");elseif(m>=80&&m<=89)System.out.print("B");elseif(m>=90)System.out.print("A");elseSystem.out.print("E");)6.输入一行字符,将其中的字母变成其后续的第现。importjava.util.Scanner;publicclassProg6publicstaticvoidmain(Stringargs)char口zimu=newchar口'a','b',&

8、#39;c','d','e','f,'g','h','i','j',k,T,'m','n','o','p','q','r','s','t','u','v',W,'x',V'z','a','b','c'Scannercin=newScanner(Sy

9、stem.Stringstr=cin.nextLine();for(intj=0;j<str.length();j+)for(inti=0;i<29;i+)if(str.charAt(j)=zimui)3个字母,输出。例:in);ad,x一a;y一b;编程实System.out.println(zimui+3);break)7 .编写程序,输入任意一个17之间的整数,将他们转换成对应的英文单词.例如:1转换成Monday,7转换成Sunday.importjava.util.Scanner;publicclassProg7publicstaticvoidmain(String口ar

10、gs)System.out.print("请输入任意一个17之间的整数n");Scannercin=newScanner(System.in);intm=cin.nextInt();if(m=1)System.out.print("Monday");elseif(m=2)System.out.print("Tuesday");elseif(m=3)System.out.print("Wensday");elseif(m=4)System.out.print("Thuesday");elseif(

11、m=5)System.out.print("Friday");elseif(m=6)System.out.print("Saturday");elseSystem.out.print("Sunday");)8 .输入三角形的三边a,b,c,判断能否构成三角形.若能,计算面积.importjava.util.Scanner;publicclassProg8publicstaticvoidmain(Stringargs)System.out.print("请输入三个整数n");Scannercin=newScanner

12、(System.in);inta=cin.nextInt();intb=cin.nextInt();intc=cin.nextInt();if(a+b<c|a+c<b|c+b<a)(System.out.print("不能构成三角形n");)else(intl=a+b+c;System.out.print(l);|)9 .编程序,输入a,b,c,求方程ax2+bx+c=0的解。importjava.util.Scanner;publicclassProg9publicstaticvoidmain(Stringargs)System.out.print(&q

13、uot;请输入三个整数n");Scannercin=newScanner(System.in);inta=cin.nextInt();intb=cin.nextInt();intc=cin.nextInt();if(a=0)System.out.println(-c/b);)elseif(b*b-4*a*c>=0)doublex1=(-b+Math.pow(1/2,b*b-4*a*c)/(2*a);doublex2=(-b-Math.pow(1/2,b*b-4*a*c)/(2*a);System.out.println(x1);System.out.print(x2);)els

14、eSystem.out.print("无解");)10 .计算出前20项fibonacci数列,要求一彳T打印5个数.一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子?我们不妨拿新出生的一对小兔子分析一下:第一个月小兔子没有繁殖能力,所以还是一对;两个月后,生下一对小兔总数共有两对;三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对依次类推可以列出下表:经过月数0123456789101112幼仔对数0112358132134555589144成兔对数1123581321345

15、589144233总体对数123581321345589144233377importjava.util.Scanner;publicclassProg10publicstaticvoidmain(Stringargs)Scannercin=newScanner(System.in);intn=cin.nextInt();inta=0,b=1,c=1;if(n=1)System.out.println(a);System.out.println(b);System.out.println(c);elsefor(inti=2;i<=n;i+)a=b;b=c;c=a+b;System.out

16、.println("幼崽数"+a+"成年兔子书"+b+"总数"+c);11 .输出10010000之间个位数为3的所有素数。publicclassProg11publicstaticvoidmain(Stringargs)for(inti=103;i<10000;i=i+10)booleanflag=truefor(intj=2;j<i/2;j+)(if(i%j=0)flag=false;break;)if(flag=true)System.out.println(i);12 .百钱买百鸡问题:公鸡每只5元,母鸡每只3元,

17、小鸡3只一元,问一百元买一百只鸡有几种买法.publicclassProg12publicstaticvoidmain(String口args)intm=0;for(inta=0;a<100;a+)for(intb=0;b<100;b+)for(intc=0;c<100;c+)if(5*a+3*b+1/3*c=100&&a+b+c=100)m+;System.out.print("一百元买一百只鸡有"+m+"种买法");13 .请编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出

18、两数之和。importjava.util.Scanner;publicclassProg13publicstaticvoidmain(String口args)System.out.print("请输入两个整数n");Scannercin=newScanner(System.in);inta=cin.nextInt();intb=cin.nextInt();if(a*a+b*b>100)System.out.print(a*a+b*b);|elseSystem.out.print(a+b);)14 .编程实现:对键盘输入的任意一个四位正整数,计算各位数字平方和。如:23

19、45,贝U:计算22+32+42+52importjava.util.Scanner;publicclassProg14publicstaticvoidmain(String口args)System.out.print("请输入任意一个四位正整数n");intsum=0;Scannercin=newScanner(System.in);inta=cin.nextInt();sum=(a/1000*a/1000)+(a/100)%10*(a/100)%10)+(a/10%100%10)*(a/10%100%10)+(a%10)*(a%10);System.out.print(

20、sum);)15 .有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完,请编程publicclassProg15publicstaticvoidmain(Stringargs)intm=0,sum=1020;dosum=sum/2-2;m+;while(sum>=0);System.out.print(m+"天以后能卖完");16 .编程,输出200以内所有完全平方数C(满足Cf=A2+B2)及其个数.publicclassProg16publicstaticvoidmain(Stringargs)intm=0;for(intC=1;C

21、<200;C+)for(intA=1;A<=200;A+)for(intB=1;B<=200;B+)if(A*A+B*B=C*C)System.out.println(C);A=201;B=201;m+;System.out.println("个数为:"+m);17 .设N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),编程,输出所有满足条件的N。packageeasy;publicclassThe17staticlongs,M;publicstaticvoidmain(Stringargs)for(longN=1009;N<=

22、1109;N=N+10)M=9*N;s=0;while(M>0)s=s*10+M%10;M=M/10;if(N=s)System.out.println(s);)18 .编程,输出555555的约数中最大的三位数。packageeasy;publicclassThe18thpublicstaticvoidmain(Stringargs)doublea=555555;longb=0;/long口yueShu=newlong555555;for(longi=1;i<=555555;i+)if(a%i=0&&i>99&&i<1000)while

23、(i>b)b=i;)System.out.println(b);)19 .编程,输出所有个位数为6且能被31整除的五位数及其个数。packageeasy;publicclassThe19thpublicstaticvoidmain(Stringargs)for(longi=10006;i<=99996;i=i+10)if(i%31=0)System.out.println(i);)20 .编写程序,输入两个整数,和+、-、*、/、之中的任意一个运算符,输出计算结果packageeasy;/importjava.util.InputMismatchException;importja

24、va.util.Scanner;publicclassThe20thstaticScannercin=newScanner(System.in);publicstaticvoidmain(Stringargs)Scannercin1=newScanner(System.in);intd1,d2;Stringstr=newString("");d1=cin.nextInt();d2=cin.nextInt();/System.out.println(dl);/System.out.println(d2);str=cin1.nextLine();/System.out.prin

25、tln(str);/System.out.println(str.charAt(0);switch(str.charAt(0)case'+':System.out.println(d1+d2);break;case'-':System.out.println(d1-d2);break;case'*':System.out.println(d1*d2);break;case'/':System.out.println(d1/d2);break;/*staticintadd(inta,intb)returna+b;staticints

26、ub(inta,intb)returna-b;staticintmultiply(inta,intb)returna*b;staticintdivide(inta,intb)return(int)(a/b);*/)21 .计算:1+1/(1+2)+1/(1+2+3)+1/(1+2+n),n由键盘输入。packageeasy;importjava.util.Scanner;publicclassThe21thpublicstaticvoidmain(Stringargs)doublesum=0,div=0;Scannercin=newScanner(System.in);intn=cin.nex

27、tInt();for(inti=1;i<=n;i+)div=div+i;System.out.println("1/"+div);sum=sum+1/div;)System.out.println(sum);22 .编程计算:1*2*3+3*4*5+99*100*101的值.packageeasy;publicclassThe22thpublicstaticvoidmain(Stringargs)longsum=0;for(inti=1;i+2<=101;i=i+2)sum=sum+i*(i+1)*(i+2);)System.out.println(sum);二

28、、比较简单问题:1 .编一个函数GCD求两个无符号整数的最大公约数。主函数输入两个正整数m和n,调用GCD求出m和n的最大公约数和最小公倍数.并输出。packagemoreEasy;importjava.util.Scanner;publicclassThe1thpublicstaticvoidmain(Stringargs)Scannercin=newScanner(System.in);intm=cin.nextInt();intn=cin.nextInt();System.out.println(m+"和"+n+”的最大公约数为:"+GCD(m,n);Sys

29、tem.out.println(m+"和"+n+”的最小公倍数为:"+m*n/GCD(m,n);)publicstaticintGCD(inta,intb)intr=0;for(inti=1;i<=a&&i<=b;i+)if(a%i=0&&b%i=0&&r<i)r=i;)/System.out.println(r);returnr;)2 .请编程实现:建立一个4*4的二维整型数组,求对角线元素的和。packagemoreEasy;importjava.util.Scanner;publicclass

30、The2thpublicstaticvoidmain(Stringargs)intewsz口=newint44;Scannercin=newScanner(System.in);for(inti=0;i<ewsz.length;i+)for(intj=0;j<ewszi.length;j+)ewszij=cin.nextInt();)/*for(inti=0;i<ewsz.length;i+)for(intj=0;j<ewszi.length;j+)System.out.print(ewszij);if(j=3)System.out.println("&quo

31、t;);)*/intsum=0;for(inti=0;i<ewsz.length;i+)sum=sum+ewszii;System.out.println(sum);3 .写一个判断素数的函数prime,在主函数中输入10个整数,调用prime,输出这10个整数中的素数的累加和。packagemoreEasy;importjava.util.Scanner;publicclassThe3thpublicstaticvoidmain(String口args)intshu=newint10;intsum=0;Scannercin=newScanner(System.in);for(inti=

32、0;i<shu.length;i+)shui=cin.nextInt();for(inti=0;i<shu.length;i+)if(prime(shui)sum=sum+shui;System.out.println(sum);publicstaticbooleanprime(inta)/doubleb=Math.pow(a,0.5);for(inti=2;i<a;i+)if(a%i=0|a=1)returnfalse;returntrue;4 .从键盘上输入若干学生的一门课成绩,存入一个数组中,当输入负数时结束输入.输出最高成绩和最低成绩及相应的序号。packagemor

33、eEasy;importjava.util.Scanner;publicclassThe4thpublicstaticvoidmain(Stringargs)intn,n1=0,max,min;Scannercin=newScanner(System.in);System.out.print("学生人数");n=cin.nextInt();intchengJi=newintn;for(inti=0;i<n;i+)chengJii=cin.nextInt();max=chengJi0;min=chengJi0;for(intj=0;j<chengJi.length

34、;j+)if(max<chengJij)max=chengJij;n=j;)if(min>chengJij)min=chengJij;n1=j;)System.out.println("max="+max+""+n);System.out.println("min="+min+""+n1);)5 .编程计算:1!+2!+3!+20!,并将结果输出.输出格式:1!+2!+3!+20!=表达式的值packagemoreEasy;publicclassThe5thpublicstaticvoidmain(St

35、ringargs)longsum=0;for(inti=1;i<=20;i+)longr=1;for(intj=1;j<=i;j+)r*=j;)sum=sum+r;/System.out.print("r="+r);if(i<20)System.out.print(i+"!+");elseSystem.out.print(i+"!="+sum);)6 .有一个3*4的矩阵,编程实现:找出该矩阵中每行元素的最大值,存入一个一维数组中。输出原始矩阵和结果矩阵。7 .将若干个整数放到一维数组中,找出该数组中的最大值和它的下

36、标。然后将它和数组中的最前面的元素对换。不明白packagemoreEasy;importjava.util.Scanner;publicclassThe7thpublicstaticvoidmain(Stringargs)intarray=newint10;Scannercin=newScanner(System.in);System.out.print("数组长度:");intn=cin.nextInt();for(inti=0;i<n;i+)arrayi=cin.nextInt();intmin=array0;intmax=array0;/System.out.

37、println(min);/System.out.println(max);for(inti=0;i<array.length;i+)if(arrayi<min)min=arrayi;if(max<arrayi)max=arrayi;System.out.println(min);System.out.println(max);8 .编写一个函数converse,将一维数组中的数逆序存放,不允许使用辅助数组。主函数输入原始数据,调用converse,实现逆置。并将原数组和逆置后的数组输出packagemoreEasy;importjava.util.Scanner;publi

38、cclassThe8thpublicstaticvoidmain(Stringargs)converse();publicstaticvoidconverse()intar=newint10;Scannercin=newScanner(System.in);for(inti=0;i<ar.length;i+)ari=cin.nextInt();/if(ari=-1)/break;for(intj=0;j<ar.length;j+)System.out.print(arj);System.out.println("");for(inti=0;i<ar.len

39、gth/2;i+)inta=arar.length-i-1;arar.length-i-1=ari;ari=a;)for(intj=0;j<ar.length;j+)System.out.print(arj);)9 .编写函数,将给定的字符串的大写字母转变成小写字母;其它字符不变。主函数输入一个字符串,调用该函数对其进行转换,分别输出原串和转换之后的串。packagemoreEasy;importjava.util.Scanner;publicclassThe9thstaticStringstr=""publicstaticvoidmain(Stringargs)St

40、ringstr=""Scannercin=newScanner(System.in);str=cin.nextLine();zhuanHuan(str);publicstaticvoidzhuanHuan(Stringstr1)str=str1;str=str.toLowerCase();System.out.println(str);10 .编写一个函数,将字符数组a中的全部字符复制到字符数组b中.不要使用strcpy函数.主函数输入任意一个字符串,调该函数,复制出另一个字符串。将两个串输出。packagemoreEasy;importjava.util.Scanner;

41、publicclassThe10thpublicstaticvoidmain(Stringargs)Scannercin=newScanner(System.in);Stringstr=cin.nextLine();charaa=newcharstr.length();charbb=newcharstr.length();for(inti=0;i<aa.length;i+)aai=str.charAt(i);)copy(aa,bb);for(inti=0;i<aa.length;i+)System.out.print(aai+"");System.out.println("");for(inti=0;i<aa.length;i+)System.out.print(bbi+"");publicstaticvoidcopy(chara,cha

温馨提示

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

评论

0/150

提交评论