JAVA编程模拟练习题(含答案)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

}
}
}
1 n 1 第 11 题:数学上斐波那契数列的公式如下: F (n ) 1 n 2 ,请根据 F (n 1) F (n 2) n 3
这一公式输出斐波那契数列中的前 40 个数。 保存文件名为:bnds11.java class bnds11 { public static void main(String[] args) { int fib[] = new int[41]; fib[1] = 1; fib[2] = 1; System.out.println(fib[1]); System.out.println(fib[2]); for(int i = 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 class bnds12 { public static void main(String[] args) { int sum=0; int i=1; int count =0; while(sum<=500) { sum =sum+i; i =i+2; count++; }
《算法与程序设计》模块会考模拟练习题——Java 编程——答案 第 1 题:一个物体做匀加速直线运动,从键盘输入某一段位移的初速度 v1 和末速度 v2,利
用公式 ,计算并输出该物体在位移中间点处的速度。 说明:v1 和 v2 是大于零的浮点型数据,程序中不需要判断数据输入的合法 性。开方的数学函数为 Math.sqrt(a),a 为被开方数。 保存文件名为:bnds01.java import java.io.*; class bnds01 { public static void main(String[] args) throws IOException { InputStreamReader reader = new InputStreamReader(System.in); BufferedReader input = new BufferedReader(reader); String s = input.readLine(); double v1 = Double.parseDouble(s); s =input.readLine(); double v2 = Double.parseDouble(s); double v = Math.sqrt((v1*v1+v2*v2)/2); } System.out.println("中点的速度为"+v);
}
第 2 题:从键盘分别输入两个浮点型数据 R1、R2 表示两个电阻的阻值,编写程序计算并输
出这两个电阻并联的值。并联电阻计算公式是 说明:程序中不需要检验数据输入的合法性。 保存文件名为:bnds02.java import java.io.*; class bnds02 { public static void main(String[] args) throws IOException { InputStreamReader reader = new InputStreamReader(System.in); BufferedReader input = new BufferedReader(reader); String s = input.readLine(); double r1 = Double.parseDouble(s); s =input.readLine(); double r2 = Double.parseDouble(s); double r = (r1*r2)/(r1+r2); } System.out.println("并联的电阻为"+r);
第 7 题:有这样一个数,除以 3 余 2、除以 5 余 3、除以 7 余 4、除以 13 余 6。请编写程序 计算出这一数,这个数的范围在 1-1000。 保存文件名为:bnds07.java class bnds07 { public static void main(String[] args) { for(int i = 1;i<=1000;i++) { if(i%3==2&&i%5==3&&i%7==4&&i%13==6) } System.out.println("该数为"+i);
System.out.println("第一天有"+peach+"个桃子");
}பைடு நூலகம்
第 10 题:输出所有的水仙花数,所谓“水仙花数”是指一个 3 位数,其各位数字的立方和 等于该数本身。例如,153 是一个水仙花数,153 =13+53+33 保存文件名为:bnds10.java class bnds10 { public static void main(String[] args) { int peach =1; for(int i = 100;i<1000;i++) { int ge = i%10; int shi = ((i-ge)/10)%10; int bai = (i-ge-shi*10)/100; int temp = ge*ge*ge+shi*shi*shi+bai*bai*bai; if(temp==i) { System.out.println(i+"为水仙花数"); }
} }
price = price *0.9;
System.out.println("应付书款为"+price);
}
第 5 题:编写一个程序,从键盘上获取一个数值。当这个数值大于零时,输出”该数为正数”; 当这个数值为零时,输出“该数为零” ;当这个数值小于零时,输出“该数为负数” 保存文件名为:bnds05.java import java.io.*; class bnds05 { public static void main(String[] args) throws IOException { InputStreamReader reader = new InputStreamReader(System.in); BufferedReader input = new BufferedReader(reader); String s = input.readLine(); double num = Double.parseDouble(s); if(num>0) { } else if(num==0) { } else { } } System.out.println("该数为正数");
System.out.println("圆周率的近似值为"+sum);
}
}
for(int i=0;i<=9;i++) { a[i]=(int)(Math.random()*90+10); System.out.print(a[i]+” ”); } System.out.println(); for(int j=9;j>=0;j--) { System.out.print(a[j]+” ”); }
}
第 4 题:书店为鼓励顾客多购书,采取了下列优惠方案: 1 如一次购书不超过 100 元,则不予优惠; 2 如一次购书超过 100 元,但不超过 300 元,则全款按九折收取; 3 如一次购书超过 300 元,则全款按八点五折收取。 现从键盘上输入一个正数 a(a 为浮点型数据) ,表示某顾客购书按原价计算的总款数,请编 写程序,按照上述优惠方案计算并输出此次购书应付的钱数。 说明:程序中不需检验输入的数据是否符合要求。 保存文件名为:bnds04.java import java.io.*; class bnds04 { public static void main(String[] args) throws IOException { InputStreamReader reader = new InputStreamReader(System.in); BufferedReader input = new BufferedReader(reader); String s = input.readLine(); double price = Double.parseDouble(s); if(price>300) { price = price *0.85; } else if(price<=300&&price>100) {
System.out.println("该数为零");
System.out.println("该数为负数");
}
第 6 题:计算机随机产生 10 个两位随机整数,正序输出一次,再倒序输出一次。 说明:计算机通过随机函数 Math.random()能产生[0,1.0)之间的任意一个速记小数,即:0≤ Math.random()≤1 保存文件名为:bnds06.java class bnds06 { public static void main(String[] args) { int a[]=new int[10];
请根据上面公式编写程序计算
值。
class bnds13 { public static void main(String[] args) { double sum=0; double i=1.0; while(i<100000) { sum = sum+(1/i-1/(i+2)); i=i+4; } sum =sum*4; }
}
}
第 8 题:编写一个程序,输出 1-1000 以内所有可以整除 7 的数 保存文件名为:bnds08.java class bnds08 { public static void main(String[] args) { for(int i = 1;i<=1000;i++) { if(i%7==0) }
}
第 3 题:已知现有人口总数为 14.2 亿,假设人口以每年平均 1.5%的速度增长,问多少年后 人口将翻一番,试用循环结构编程实现。 说明:翻一番的含义是现有人口数增长一倍,如原来为 100,翻一番后变为 200。 保存文件名:bnds03.java class bnds03 { public static void main(String[] args) { double renkou = 14.5; double mubiao = renkou*2; int yearnum = 0; while(renkou<mubiao) { yearnum++; renkou = renkou*1.015; } } System.out.println("人口翻一番需"+yearnum+"年");
System.out.println("共加了"+count+"个数"+",和为"+sum+"最后一个 数是"+i); } } 第 13 题: 计算机中对于一些数值常常采用近似值的方法加以替代,例如 用下面的公式进行计算。
值,我们就可以

1 1 1 1 1 1 ... 4 3 5 7 99997 99999
System.out.println(i+”可以被 7 整除”);
}
}
第 9 题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早 上又将剩下的桃子吃了一半之后, 又多吃了一个, 以后每天早上都吃了前一天剩下的一半零 一个。到第 5 天早上想吃时,就只剩一个了。求第一天共摘了多少个桃子。 保存文件名为:bnds09.java class bnds09 { public static void main(String[] args) { int peach =1; for(int i = 5;i>1;i--) { peach=(peach+1)*2; } }
相关文档
最新文档