C++编程练习题大全(带答案)

  • 格式:doc
  • 大小:1.41 MB
  • 文档页数:409

一、简单问题:5. 编程计算: 1!+2!+3!+…+20!,并将结果输出.输出格式:1!+2!+3!+…+20!= 表达式的值package moreEasy;public class The5th {public static void main(String[] args) {long sum=0;for(int i=1;i<=20;i++){long r=1;for(int j=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);}}}1. 编程求下列式子的值,y=1-1/2+1/3-1/4+…+1/99-1/100并将结果输出,格式为: 1-1/2+1/3-1/4+…+1/99-1/100 = 表达式的值public class Porg {public static void main(String[] args) {double sum=0;for(double i=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中的较大者。

import java.util.Scanner;public class Prog2 {public static void main(String[] args) {int m=0,n=0;Scanner cin=new Scanner(System.in);String str=cin.nextLine();for(int i=0;i<str.length();i++){if(str.charAt(i)>'A'&&str.charAt(i)<='Z')m++;elsen++;}if(m>n){System.out.println(m);}elseSystem.out.println(n);}}3. 编程,求全部水仙花数。

所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。

如:153 = 13 + 53+ 33。

public class Prog3 {public static void main(String[] args) {int a,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。

import java.util.Scanner;public class Prog4 {public static void main(String[] args) {Scanner cin=new Scanner(System.in);int i=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’。

import java.util.Scanner;public class Prog5 {public static void main(String[] args) {Scanner cin=new Scanner(System.in);int m=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)System.out.print("A");elseSystem.out.print("E");}}6. 输入一行字符,将其中的字母变成其后续的第3个字母,输出。

例:a→d,x → a;y → b;编程实现。

import java.util.Scanner;public class Prog6 {public static void main(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'};Scanner cin=new Scanner(System.in);String str=cin.nextLine();for(int j=0;j<str.length();j++){for(int i=0;i<29;i++){if(str.charAt(j)==zimu[i]){System.out.println(zimu[i+3]);break;}}}7. 编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词. 例如:1转换成Monday,7转换成Sunday.import java.util.Scanner;public class Prog7 {public static void main(String[] args) {System.out.print("请输入任意一个1~7之间的整数\n");Scanner cin=new Scanner(System.in);int m=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(m==5)System.out.print("Friday");elseif(m==6)System.out.print("Saturday");elseSystem.out.print("Sunday");}}8. 输入三角形的三边a, b, c,判断能否构成三角形. 若能,计算面积.import java.util.Scanner;public class Prog8 {public static void main(String[] args) {System.out.print("请输入三个整数\n");Scanner cin=new Scanner(System.in);int a=cin.nextInt();int b=cin.nextInt();int c=cin.nextInt();if(a+b<c||a+c<b||c+b<a){System.out.print("不能构成三角形\n");}else{int l=a+b+c;System.out.print(l);}}}9. 编程序,输入a,b,c,求方程 ax2+bx+c=0 的解。

import java.util.Scanner;public class Prog9 {public static void main(String[] args) {System.out.print("请输入三个整数\n");Scanner cin=new Scanner(System.in);int a=cin.nextInt();int b=cin.nextInt();int c=cin.nextInt();if(a==0){System.out.println(-c/b);}else if(b*b-4*a*c>=0){double x1=(-b+Math.pow(1/2, b*b-4*a*c))/(2*a);double x2=(-b-Math.pow(1/2, b*b-4*a*c))/(2*a);System.out.println(x1);System.out.print(x2);}else System.out.print("无解");}}10.计算出前20项 fibonacci 数列, 要求一行打印5个数.一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。

如果所有兔都不死,那么一年以后可以繁殖多少对兔子?我们不妨拿新出生的一对小兔子分析一下:第一个月小兔子没有繁殖能力,所以还是一对;两个月后,生下一对小兔总数共有两对;public class Prog10 {public static void main(String[] args) {Scanner cin=new Scanner(System.in);int n=cin.nextInt();int a=0,b=1,c=1;if(n==1){System.out.println(a );System.out.println(b );System.out.println(c );}else{for(int i=2;i<=n;i++){a=b;b=c;c=a+b;}System.out.println("幼崽数"+a+"成年兔子书"+ b+"总数"+ c);}}}11.输出100~10000之间个位数为3的所有素数。