logo资料库

福州大学数字中国研究院(福建)考研复试编程参考题目.docx

第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
资料共14页,剩余部分请下载后查看
01.题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能 被整除, 则表明此数不是素数,反之是素数。 public class Test_01 { public static void main(String[] args) { int count=0; for(int i=101;i<200;i++) { boolean b=false; for(int j=2;j<=Math.sqrt(i);j++) { if(i%j==0) { b=false; break; } else { } b=true; } if(b==true) { count++; System.out.println(i); } } System.out.println("素数总数是:"+count); } } 02.题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其 各位数字立方和等于该数本身。 例如:153是一个"水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。 public class Test02 { public static void main(String[] args) { System.out.println("所有水仙花数是:"); int a,b,c; for(int i=100;i<1000;i++) { a=i/100; b=i%100/10; c=i%10; if(i==(a*a*a+b*b*b+c*c*c)) { System.out.println(i); } } } }
03.将一个正整数分解质因数 import java.util.*; public class Test03 { public static void main(String[] args) { Scanner s=new Scanner(System.in); System.out.print("请键入一个正整数:"); int n=s.nextInt(); int k=2; System.out.print(n+"="); while(k<=n) { if(k==n){ System.out.print(k); break; }else if(n%k==0){ n=n/k; System.out.print(k+"*"); }else k++; } } } 04.利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89 分之间的用B表示,60分以下的用C表示。 import java.util.*; public class Test05 { public static void main(String[] args) { Scanner s=new Scanner(System.in); System.out.print("请输入一个成绩:"); int n=s.nextInt(); /* * if(n>=90) { System.out.print("成绩为A"); }else if(n>=60) { * System.out.print("成绩为B"); }else { System.out.print(" 成绩为C"); } */ char grade; grade=n>=90?'A' :n>=60?'B' :'C'; System.out.print("等级为:"+grade);
} } 05.题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。 import java.util.*; public class Test06 { public static void main(String[] args) { System.out.print("请输入第一个整数:"); Scanner s=new Scanner(System.in); int a=s.nextInt(); System.out.print("请输入第二个整数:"); int b=s.nextInt(); deff cd=new deff(); int m,n; m=cd.deff(a,b); n=a*b/m; System.out.print("最大公约数是:"+m); System.out.print("最小公倍数是:"+n); } } class deff{ public int deff(int x,int y) { int t; if(x
import java.util.*; public class Test07 { public static void main(String[] args) { char[] ch=null; int digital=0; int character=0; int blank=0; int other=0; Scanner sc=new Scanner(System.in); System.out.print("请输入一行字符:"); String s=sc.nextLine(); ch=s.toCharArray(); for(int i=0;i='0'&&ch[i]<='9') { digital++; }else if((ch[i]>='a'&&ch[i]<='z')||(ch[i]>='A'&&ch[i]<='Z')) {//此处别 忘加括号 character++; }else if(ch[i]==' ') { //此处应该是两个= blank++; }else { other++; } } System.out.println("数字个数:"+digital); System.out.println("字母个数:"+character); System.out.println("空格个数:"+blank); System.out.println("其他个数:"+other); } } 07.题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 import java.util.*; public class Test08 { public static void main(String[] args) { long a,b=0,sum=0; Scanner s=new Scanner(System.in); System.out.print("请输入一个数字:"); a=s.nextInt(); System.out.print("请输入相加的项数:"); int n=s.nextInt();
int i=1; while(i<=n) { b=a+b; sum=sum+b; a=a*10; i++; } System.out.println(sum); } } 08.题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1 +2+3.编程 找出1000以内的所有完数。 import java.util.*; public class Test09 { public static void main(String[] args) { System.out.println("1000以内所有的完数为:"); for(int i=1;i<1000;i++) { int sum=0; for(int j=1;j<=i/2;j++) { if(i%j==0) { sum=sum+j; } } if(sum==i) { System.out.println(i); } } } } 09.题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半; 再落下,求它在 第 10 次落地时,共经过多少米?第 10 次反弹多高? public class Test10 { public static void main(String[] args) { double sum=0, h=100; for(int i=1;i<10;i++) { sum=sum+h; h=h/2; } System.out.println("第十次落地时一共经过"+sum+"米"); System.out.println("反弹高度为"+h); }
10. 题目:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三 位数?都是多少? public class Test11 { public static void main(String[] args) { int count=0; for(int x=1;x<5;x++) { for(int y=1;y<5;y++) { for(int z=1;z<5;z++) { if(x!=y&&x!=z&&y!=z) { count++; System.out.println(x*100+y*10+z); } "); } } } } } } System.out.println("能组成"+count+"个互不相同且无重复的数字 11.题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完 全平方数,请问该数是多少? public class Test13 { public static void main(String[] args) { for(int x=0;x<10000000;x++) { if((Math.sqrt(x+100)%1==0)&&Math.sqrt(x+168)%1==0) {//必须加上%1,否则输不出结果。 上168又是一个完全平方数"); System.out.println(x+"加上100后是一个完全平方数,再加 } } } } 12.题目:输入某年某月某日,判断这一天是这一年的第几天? import java.util.*; public class Test14 { public static void main(String[] args) { int year,month,day; int e; int d=0;
e=0; Scanner s=new Scanner(System.in); System.out.print("请输入年:"); year=s.nextInt(); System.out.print("请输入月:"); month=s.nextInt(); System.out.print("请输入日:"); day=s.nextInt(); if(year<0||month<0||month>12||days<0||days>31) { System.out.print("输入有误,请重新输入:"); e=1; } }while(e==1); for(int i=1;i
} } 13. 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 import java.util.*; public class test15 { public static void main(String[] args) { Scanner s=new Scanner(System.in) ; System.out.print("请输入第一个整数:"); int x=s.nextInt(); System.out.print("请输入第二个整数:"); int y=s.nextInt(); System.out.print("请输入第三个整数:"); int z=s.nextInt(); if(x>y) { int t=x; x=y; y=t; } if(x>z) { int t=x; x=z; z=t; } if(y>z) { int t=y; y=z; z=t; } System.out.println("从小到大排序为:"+x+","+y+","+z); } } 14.题目:输出 9*9 口诀。 public class Test16 { public static void main(String[] args) { for(int i=1;i<10;i++) { for(int j=1;j<=i;j++) { System.out.print(i+"*"+j+"="+(i*j)+" "); if(i*j<10) { System.out.print(" "); } }
分享到:
收藏