一. 其它(共2题,100分)
1. (其它)查询水果的单价:有 4 种水果,苹果(apples)、梨(pears)、桔子(oranges)和葡萄(grapes), 单价分别是 3.00 元/公斤,2.50 元/公斤,4.10 元/公斤和 10.20 元/公斤。在屏幕上显示以下 菜单(编号和选项),用户可以连续查询水果的单价,当查询次数超过 5 次时,自动退出查 询;不到 5 次时,用户可以选择退出。当用户输入编号 1~4,显示相应水果的单价(保留 一位小数);输入 0,退出查询;输入其他编号,显示价格为 0。试编写相应程序。
[1] apples
[2] pears
[3] oranges
[4] grapes
[0] Exit
package e; import java.util.Scanner; public class t { public static void main(String[] args) { Scanner reader = new Scanner(System.in); System.out.println("[1] apple"); System.out.println("[2] pear"); System.out.println("[3] orange"); System.out.println("[4] grape"); System.out.println("[0] exit"); System.out.println("请输入查询序号:"); int n=1; while(n<=5) { int num = reader.nextInt(); switch(num) { case 1:System.out.println("apples 3.0元/公斤");break; case 2:System.out.println("pears 2.5元/公斤");break; case 3:System.out.println("oranges 4.1元/公斤");break; case 4:System.out.println("grapes 10.2元/公斤");break; case 0:return; default:System.out.println("价格为0.0");break; }if(num==0) { n=10; } n++; } } }
2. (其它)求序列前 n 项和(2/1+3/2+5/3+8/5+...)。输入一个正整数 n,输出 2/1+3/2+5/3+8/5 +… 的前 n 项之和,保留 2 位小数。该序列从第 2 项起,每一项的分子是前一项分子与分母的 和,分母是前一项的分子。试编写相应程序。
package e; import java.util.Scanner; public class e { public static void main(String[] args){ System.out.println("请输入一个正整数n:"); Scanner a=new Scanner(System.in); int n=a.nextInt(); int i=0,j=0; float sum=0,a1=1,a2=1,a3=0; for(i=0;i<n;i++) { a3=a1+a2; a1=a2; a2=a3; sum+=a3/a1; } System.out.println("前n项和为:"); System.out.println(String.format("%.2f", sum)); } }