您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 制造加工工艺 > C++编程练习题及答案
22--1一、简单问题:1.编程求下列式子的值,y=1-1/2+1/3-1/4+…+1/99-1/100并将结果输出,格式为:1-1/2+1/3-1/4+…+1/99-1/100=表达式的值publicclassPorg{publicstaticvoidmain(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.请编程实现:由键盘输入的任意一组字符,统计其中大写字母的个数m和小写字母的个数n,并输出m、n中的较大者。importjava.util.Scanner;publicclassProg2{publicstaticvoidmain(String[]args){intm=0,n=0;Scannercin=newScanner(System.in);Stringstr=cin.nextLine();for(inti=0;istr.length();i++){if(str.charAt(i)'A'&&str.charAt(i)='Z')m++;elsen++;}if(mn){System.out.println(m);}elseSystem.out.println(n);}}3.编程,求全部水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。如:153=13+53+33。publicclassProg3{22--2publicstaticvoidmain(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又是7的整倍数。若是,则输出yes;否则输出no。importjava.util.Scanner;publicclassProg4{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);inti=cin.nextInt();if(i%5==0&&i%7==0)System.out.print(yes);elseSystem.out.print(no);}}5.请编程实现:对于给定的一个百分制成绩,输出相应的五分制成绩。设:90分以上为‘A’,80—89分为‘B’,70—79分为‘C’,60—69分为‘D’,60分以下为‘E’。importjava.util.Scanner;publicclassProg5{publicstaticvoidmain(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(C);elseif(m=80&&m=89)System.out.print(B);elseif(m=90)22--3System.out.print(A);elseSystem.out.print(E);}}6.输入一行字符,将其中的字母变成其后续的第3个字母,输出。例:a→d,x→a;y→b;编程实现。importjava.util.Scanner;publicclassProg6{publicstaticvoidmain(String[]args){char[]zimu=newchar[]{'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c'};Scannercin=newScanner(System.in);Stringstr=cin.nextLine();for(intj=0;jstr.length();j++){for(inti=0;i29;i++){if(str.charAt(j)==zimu[i]){System.out.println(zimu[i+3]);break;}}}7.编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词.例如:1转换成Monday,7转换成Sunday.importjava.util.Scanner;publicclassProg7{publicstaticvoidmain(String[]args){System.out.print(请输入任意一个1~7之间的整数\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);else22--4if(m==4)System.out.print(Thuesday);elseif(m==5)System.out.print(Friday);elseif(m==6)System.out.print(Saturday);elseSystem.out.print(Sunday);}}8.输入三角形的三边a,b,c,判断能否构成三角形.若能,计算面积.importjava.util.Scanner;publicclassProg8{publicstaticvoidmain(String[]args){System.out.print(请输入三个整数\n);Scannercin=newScanner(System.in);inta=cin.nextInt();intb=cin.nextInt();intc=cin.nextInt();if(a+bc||a+cb||c+ba){System.out.print(不能构成三角形\n);}else{intl=a+b+c;System.out.print(l);}}}9.编程序,输入a,b,c,求方程ax2+bx+c=0的解。importjava.util.Scanner;publicclassProg9{publicstaticvoidmain(String[]args){System.out.print(请输入三个整数\n);Scannercin=newScanner(System.in);inta=cin.nextInt();intb=cin.nextInt();intc=cin.nextInt();if(a==0)22--5{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);}elseSystem.out.print(无解);}}10.计算出前20项fibonacci数列,要求一行打印5个数.一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子?我们不妨拿新出生的一对小兔子分析一下:第一个月小兔子没有繁殖能力,所以还是一对;两个月后,生下一对小兔总数共有两对;三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对;……依次类推可以列出下表:经过月数0123456789101112幼仔对数01123581321345589144成兔对数1123581321345589144233总体对数123581321345589144233377importjava.util.Scanner;publicclassProg10{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);intn=cin.nextInt();inta=0,b=1,c=1;if(n==1){System.out.println(a);22--6System.out.println(b);System.out.println(c);}else{for(inti=2;i=n;i++){a=b;b=c;c=a+b;}System.out.println(幼崽数+a+成年兔子书+b+总数+c);}}}11.输出100~10000之间个位数为3的所有素数。publicclassProg11{publicstaticvoidmain(String[]args){for(inti=103;i10000;i=i+10){booleanflag=true;for(intj=2;ji/2;j++){if(i%j==0){flag=false;break;}}if(flag==true){System.out.println(i);}}}}12.百钱买百鸡问题:公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一百只鸡有几种买法.publicclassProg12{publicstaticvoidmain(String[]args){intm=0;for(inta=0;a100;a++){for(intb=0;b100;b++){for(intc=0;c100;c++)22--7if(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百位以上的数字,否则输出两数之和。importjava.util.Scanner;publicclassProg13{publicstaticvoidmain(String[]args){System.out.print(请输入两个整数\n);Scannercin=newScanner(System.in);inta=cin.nextInt();intb=cin.nextInt();if(a*a+b*b100){System.out.print(a*a+b*b);}elseSystem.out.print(a+b);}}14.编程实现:对键盘输入的任意一个四位正整数,计算各位数字平方和。如:2345,则:计算22+32+42+52importjava.util.Scanner;publicclassProg14{publicstaticvoidmain(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(sum);}22--8}15.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完,请编程.publicclassProg15{publicstaticvoidmain
本文标题:C++编程练习题及答案
链接地址:https://www.777doc.com/doc-3937223 .html