浙大 Java语言程序设计编程答案5

实验6 循环结构程序的设计(一)

程序填空,不要改变与输入输出有关的语句。

1. 求1+1/2+1/3+……+1/n

输入一个正整数repeat (0

读入1 个正整数 n(n<=100),计算并输出1+1/2+1/3+……+1/n 。 例:括号内是说明 输入

2 (repeat=1) 2 10 输出 1.5

2.9289684

import java.util.Scanner; public class Test40001 { public static void main(String[] args) { int ri, repeat; int i, n; float sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); /*--------------------*/

}

sum=0; //注意这条赋初值语句的位置 for(i=1;i<=n;i++){ sum+=1.0f/i; }

} }

System.out.println((int)(sum*1000+0.5)/1000.);

2. 求n!

输入一个正整数repeat (0

3 (repeat=2) 1

10 5 输出 1.0

3628800.0 120.0

import java.util.Scanner; public class Test40002 { public static void main(String[] args) { int ri, repeat; int i, n; double fact; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); /*--------------------*/

fact=1;

for(i=1;i<=n;i++) fact*=i;

}

} }

System.out.println(fact);

3. 求x的n次幂

输入一个正整数repeat (0

2 (repeat=2) 1.5 2 2.0 10 输出 2.25 1024.0

import java.util.Scanner; public class Test40003 { public static void main(String[] args) { int ri, repeat; int i, n; double x, mypow;

Scanner in=new Scanner(System.in); repeat=in.nextInt();

for(ri=1; ri<=repeat; ri++){ x=in.nextDouble(); n=in.nextInt(); /*--------------------*/

mypow=1;

for(i=1;i<=n;i++) mypow*=x;

}

} }

System.out.println(mypow);

4. 求1+1/3+1/5+1/7+……

输入一个正整数repeat (0

读入1 个正整数 n(n<=100),计算并输出1+1/3+1/5+1/7+……的前n项和。 例:括号内是说明 输入

2 (repeat=2) 10 3 输出 2.133256 1.5333334

import java.util.Scanner; public class Test40005 {

public static void main(String[] args) { int ri, repeat; int i, n, temp; float sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); /*--------------------*/

temp=1; sum=0;

for(i=1;i<=n;i++) { sum+=1.0f/temp; temp+=2; }

System.out.println(sum);

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4