Java编程模拟练习题含答案.docx
- 文档编号:30720141
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:16
- 大小:31.38KB
Java编程模拟练习题含答案.docx
《Java编程模拟练习题含答案.docx》由会员分享,可在线阅读,更多相关《Java编程模拟练习题含答案.docx(16页珍藏版)》请在冰豆网上搜索。
Java编程模拟练习题含答案
《算法与程序设计》模块会考模拟练习题——Java编程——答案
第1题:
一个物体做匀加速直线运动,从键盘输入某一段位移的初速度v1和末速度v2,利用公式
,计算并输出该物体在位移中间点处的速度。
说明:
v1和v2是大于零的浮点型数据,程序中不需要判断数据输入的合法
性。
开方的数学函数为Math.sqrt(a),a为被开方数。
保存文件名为:
bnds01.java
importjava.io.*;
classbnds01
{
publicstaticvoidmain(String[]args)throwsIOException
{
InputStreamReaderreader=newInputStreamReader(System.in);
BufferedReaderinput=newBufferedReader(reader);
Strings=input.readLine();
doublev1=Double.parseDouble(s);
s=input.readLine();
doublev2=Double.parseDouble(s);
doublev=Math.sqrt((v1*v1+v2*v2)/2);
System.out.println("中点的速度为"+v);
}
}
第2题:
从键盘分别输入两个浮点型数据R1、R2表示两个电阻的阻值,编写程序计算并输出这两个电阻并联的值。
并联电阻计算公式是
说明:
程序中不需要检验数据输入的合法性。
保存文件名为:
bnds02.java
importjava.io.*;
classbnds02
{
publicstaticvoidmain(String[]args)throwsIOException
{
InputStreamReaderreader=newInputStreamReader(System.in);
BufferedReaderinput=newBufferedReader(reader);
Strings=input.readLine();
doubler1=Double.parseDouble(s);
s=input.readLine();
doubler2=Double.parseDouble(s);
doubler=(r1*r2)/(r1+r2);
System.out.println("并联的电阻为"+r);
}
}
第3题:
已知现有人口总数为14.2亿,假设人口以每年平均1.5%的速度增长,问多少年后人口将翻一番,试用循环结构编程实现。
说明:
翻一番的含义是现有人口数增长一倍,如原来为100,翻一番后变为200。
保存文件名:
bnds03.java
classbnds03
{
publicstaticvoidmain(String[]args)
{
doublerenkou=14.5;
doublemubiao=renkou*2;
intyearnum=0;
while(renkou { yearnum++; renkou=renkou*1.015; } System.out.println("人口翻一番需"+yearnum+"年"); } } 第4题: 书店为鼓励顾客多购书,采取了下列优惠方案: 1如一次购书不超过100元,则不予优惠; 2 如一次购书超过100元,但不超过300元,则全款按九折收取; 3 如一次购书超过300元,则全款按八点五折收取。 现从键盘上输入一个正数a(a为浮点型数据),表示某顾客购书按原价计算的总款数,请编写程序,按照上述优惠方案计算并输出此次购书应付的钱数。 说明: 程序中不需检验输入的数据是否符合要求。 保存文件名为: bnds04.java importjava.io.*; classbnds04 { publicstaticvoidmain(String[]args)throwsIOException { InputStreamReaderreader=newInputStreamReader(System.in); BufferedReaderinput=newBufferedReader(reader); Strings=input.readLine(); doubleprice=Double.parseDouble(s); if(price>300) { price=price*0.85; } elseif(price<=300&&price>100) { price=price*0.9; } System.out.println("应付书款为"+price); } } 第5题: 编写一个程序,从键盘上获取一个数值。 当这个数值大于零时,输出”该数为正数”;当这个数值为零时,输出“该数为零”;当这个数值小于零时,输出“该数为负数” 保存文件名为: bnds05.java importjava.io.*; classbnds05 { publicstaticvoidmain(String[]args)throwsIOException { InputStreamReaderreader=newInputStreamReader(System.in); BufferedReaderinput=newBufferedReader(reader); Strings=input.readLine(); doublenum=Double.parseDouble(s); if(num>0) { System.out.println("该数为正数"); } elseif(num==0) { System.out.println("该数为零"); } else { System.out.println("该数为负数"); } } } 第6题: 计算机随机产生10个两位随机整数,正序输出一次,再倒序输出一次。 说明: 计算机通过随机函数Math.random()能产生[0,1.0)之间的任意一个速记小数,即: 0≤Math.random()≤1 保存文件名为: bnds06.java classbnds06 { publicstaticvoidmain(String[]args) { inta[]=newint[10]; for(inti=0;i<=9;i++) { a[i]=(int)(Math.random()*90+10); System.out.print(a[i]+””); } System.out.println(); for(intj=9;j>=0;j--) { System.out.print(a[j]+””); } } } 第7题: 有这样一个数,除以3余2、除以5余3、除以7余4、除以13余6。 请编写程序计算出这一数,这个数的范围在1-1000。 保存文件名为: bnds07.java classbnds07 { publicstaticvoidmain(String[]args) { for(inti=1;i<=1000;i++) { if(i%3==2&&i%5==3&&i%7==4&&i%13==6) System.out.println("该数为"+i); } } } 第8题: 编写一个程序,输出1-1000以内所有可以整除7的数 保存文件名为: bnds08.java classbnds08 { publicstaticvoidmain(String[]args) { for(inti=1;i<=1000;i++) { if(i%7==0) System.out.println(i+”可以被7整除”); } } } 第9题: 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃了一半之后,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。 到第5天早上想吃时,就只剩一个了。 求第一天共摘了多少个桃子。 保存文件名为: bnds09.java classbnds09 { publicstaticvoidmain(String[]args) { intpeach=1; for(inti=5;i>1;i--) { peach=(peach+1)*2; } System.out.println("第一天有"+peach+"个桃子"); } } 第10题: 输出所有的水仙花数,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。 例如,153是一个水仙花数,153=13+53+33 保存文件名为: bnds10.java classbnds10 { publicstaticvoidmain(String[]args) { intpeach=1; for(inti=100;i<1000;i++) { intge=i%10; intshi=((i-ge)/10)%10; intbai=(i-ge-shi*10)/100; inttemp=ge*ge*ge+shi*shi*shi+bai*bai*bai; if(temp==i) { System.out.println(i+"为水仙花数"); } } } } 第11题: 数学上斐波那契数列的公式如下: ,请根据这一公式输出斐波那契数列中的前40个数。 保存文件名为: bnds11.java classbnds11 { publicstaticvoidmain(String[]args) { intfib[]=newint[41]; fib[1]=1; fib[2]=1; System.out.println(fib[1]); System.out.println(fib[2]); for(inti=3;i<=40;i++) { fib[i]=fib[i-1]+fib[i-2]; System.out.println(fib[i]); } } } 第12题: 使用循环结构实现: 求数列 1+3+5+7+……+n 的和,直到其和超过500 时为止。 除了求出和,还要求出共加了多少个数、最后一个奇数n是多少? 保存文件名: bnds12.java classbnds12 { publicstaticvoidmain(String[]args) { intsum=0; inti=1; intcount=0; while(sum<=500) { sum=sum+i; i=i+2; count++; } System.out.println("共加了"+count+"个数"+",和为"+sum+"最后一个数是"+i); } } 第13题: 计算机中对于一些数值常常采用近似值的方法加以替代,例如 值,我们就可以用下面的公式进行计算。 请根据上面公式编写程序计算 值。 classbnds13 { publicstaticvoidmain(String[]args) { doublesum=0; doublei=1.0; while(i<100000) { sum=sum+(1/i-1/(i+2)); i=i+4; } sum=sum*4; System.out.println("圆周率的近似值为"+sum); } } 第14题: 使用循环结构输出2-1000中的质数,质数指只能除尽1和自身的数。 保存文件名: bnds14.java classbnds14 { publicstaticvoidmain(String[]args) { for(inti=2;i<=1000;i++) { intup=(int)Math.sqrt(i); intisprime=1; for(intj=2;j<=up;j++) { if(i%j==0) { isprime=0; break; } } if(isprime==1) { System.out.println(i+"为质数"); } } } } 第15题: 数学中规定自然数的阶乘用n! 表示,从键盘上输入一个自然数n,求解公式s=1! +2! +3! +……+n! 其中n! =1×2×3×……×n,特别的,当n=0时n! =1。 n为整数,0≤n≤10。 保存文件名: bnds15.java importjava.io.*; classbnds15 { publicstaticvoidmain(String[]args)throwsIOException { InputStreamReaderreader=newInputStreamReader(System.in); BufferedReaderinput=newBufferedReader(reader); Strings=input.readLine(); intnum=Integer.parseInt(s); longsum=0; for(inti=1;i<=num;i++) { intplus=1; for(intj=1;j<=i;j++) { plus=plus*j; } sum=sum+plus; } System.out.println("结果为"+sum); } } 第16题: 设计一个猜数字游戏的java程序。 数字为50-150之间的一个整数,由程序随机生成,程序使用者从键盘上输入数据,程序将输入数据与被猜数字进行比较,给程序使用者提示信息。 当程序使用者输入数值与被猜数字一致时,程序结束。 保存文件名: bnds16.java importjava.io.*; classbnds16 { publicstaticvoidmain(String[]args)throwsIOException { inta=(int)(Math.random()*100+50); InputStreamReaderreader=newInputStreamReader(System.in); BufferedReaderinput=newBufferedReader(reader); Strings=input.readLine(); intb=Integer.parseInt(s); while(a! =b) { if(a>b) { System.out.println("猜小了! 请猜大点"); } else { System.out.println("猜大了! 请猜小点"); } s=input.readLine(); b=Integer.parseInt(s); } System.out.println("恭喜你,猜对了! 是: "+a); } } 第17题: 请编写Java程序实现从键盘上输入10个数,统计其平均值。 (并按从大到小的顺序输出) 保存文件名: bnds17.java importjava.io.*; classbnds17 { publicstaticvoidmain(String[]args)throwsIOException { InputStreamReaderreader=newInputStreamReader(System.in); BufferedReaderinput=newBufferedReader(reader); inti=0,j=0; doublea[]=newdouble[10]; doublesum=0.0,max=0.0; for(;i<10;i++)//用户输入10个数并求总和 { Strings=input.readLine(); a[i]=Double.parseDouble(s); sum=sum+a[i]; } for(i=0;i<10;i++)//显示用户输入的10个数 { System.out.print(a[i]+""); } System.out.println(); doubleave=sum/10;//求出平均值 System.out.println("以上10个数的平均值是: "+ave); for(i=0;i<=8;i++)//将10个数从大到小排序 { for(j=i+1;j<=9;j++) { if(a[i] { max=a[j]; a[j]=a[i]; a[i]=max; } } } for(j=0;j<10;j++)//将10个数从大到小输出 { System.out.print(a[j]+""); } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 编程 模拟 练习题 答案