浙大JAVA-实验题答案07answer
LT
实验7 循环结构程序的设计(二)
1.程序填空题,不要改变与输入输出有关的语句。
40004 求1-1/2+1/3-1/4+……
输入一个正整数repeat (0<repeat<10),做repeat次以下运算:
读入1 个正整数 n(n<=100),计算并输出1-1/2+1/3-1/4+……的前n项和(四舍五入保存小数4位)。
例:括号内是说明
输入
2 (repeat=2)
试卷难度系数
10
3
输出
0.6456
0.8333
import java.util.Scanner;
public class Test40004 {
public static void main(String[] args) {
int ri, repeat;
int i, n, flag;
float sum;
Scanner in=new Scanner(System.in);
教育科学研究Int();
for(ri=1; ri<=repeat; ri++){
Int();
/*--------------------*/
sum=0;
flag=1;
for(i=1;i<=n;i++) {
sum+=flag*1.0f/i;
flag=-flag;
}
System.out.println((long)(sum*10000+0.5)/10000.);
什么的演奏}
}
}
40006 求1-1/3+1/5-1/7+……
输入一个正整数repeat (0<repeat<10),做repeat次以下运算:
读入1 个正实数eps,计算并输出1-1/3+1/5-1/7+……,直到最后一项的绝对值小于eps 为止(要求每一项的绝对值均大于等于eps,并以float类型输出数据)。
例:括号内是说明
输入
2 (repeat=2)
1E-4
0.1
输出
0.7853
0.8349
import java.util.Scanner;
public class Test40006 {
public static void main(String[] args) {
int ri, repeat;
int temp, flag;
double eps, item, sum;
Scanner in=new Scanner(System.in);
Int();
for(ri=1; ri<=repeat; ri++){
Double();
/*--------------------*/
item=1;
sum=0;
temp=flag=1;
while(Math.abs(item)>=eps){
sum+=item;
flag=-flag;
temp+=2;
item=flag*1.0/temp;
}
炒年糕要先煮一下吗System.out.println((int)(sum*10000+0.5)/10000.);
}
}
}
40011 求2/1+3/2+5/3+8/5+...
输入一个正整数repeat (0<repeat<10),做repeat次以下运算:
输入一个正整数n,输出 2/1+3/2+5/3+8/5 +...的前n项之和,保存4位小数(缺乏4位时,不必用0填满4位)。〔该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子〕
例:括号内是说明
输入
3 (repeat=3)
1 5 20
输出
2.0 (第1项是2.0)
8.3917 (前5项的和是8.3917)
32.6603 (前20项的和是32.6603)
import java.util.Scanner;
public class Test40011 {
public static void main(String[] args) {
int ri, repeat;
int i,n;
float a,b,s,t;
Scanner in=new Scanner(System.in);
Int();
for(ri=1; ri<=repeat; ri++){
Int();
/*--------------------*/
/*--------------------*/
a=1; //分母
b=2; //分子
s=0;
for(i=1;i<=n;i++) {
s+=b/a;
t=a;
a=b; //分母是前一项的分子
二十四节气手抄报
b=t+b; //分子是前一项分子与分母的和
自动挡轿车}
System.out.println((int)(s*10000+.5)/10000.);
人民警察职业道德规范
}
}
}
40012 求a+aa+aaa+aa…a
输入一个正整数repeat (0<repeat<10),做repeat次以下运算:输入2个正整数a和n, 求a+aa+aaa+aa…a(n个a)之和。
例:括号内是说明斗破苍穹歌曲
输入
2 (repeat=2)
2 3 (a=2, n=3)
8 5 (a=8, n=5)
输出
246 (2+22+222)
98760 (8+88+888+8888+88888)
import java.util.Scanner;
public class Test40012{
public static void main(String args[]){
int ri, repeat;
int i, n, a, sn, tn;
Scanner in=new Scanner(System.in);
Int();
for(ri=1; ri<=repeat; ri++){
Int();
Int();
/*--------------------*/
tn=a;
sn=0;
for(i=1;i<=n;i++){
sn+=tn;
tn=tn*10+a; //迭代公式
}
System.out.println(sn);
}
}
}
40013 判断素数〔提示:变量n未用到〕
输入一个正整数repeat (0<repeat<10),做repeat次以下运算: