浙大JAVA 实验题答案07answer.doc

上传人:飞****9 文档编号:133703811 上传时间:2020-05-29 格式:DOC 页数:12 大小:72KB
返回 下载 相关 举报
浙大JAVA 实验题答案07answer.doc_第1页
第1页 / 共12页
浙大JAVA 实验题答案07answer.doc_第2页
第2页 / 共12页
浙大JAVA 实验题答案07answer.doc_第3页
第3页 / 共12页
浙大JAVA 实验题答案07answer.doc_第4页
第4页 / 共12页
浙大JAVA 实验题答案07answer.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《浙大JAVA 实验题答案07answer.doc》由会员分享,可在线阅读,更多相关《浙大JAVA 实验题答案07answer.doc(12页珍藏版)》请在金锄头文库上搜索。

1、实验7 循环结构程序的设计(二)1. 程序填空题,不要改变与输入输出有关的语句。40004求11/21/31/4输入一个正整数repeat (0repeat10),做repeat次下列运算:读入1 个正整数 n(n=100),计算并输出11/21/31/4的前n项和(四舍五入保留小数4位)。例:括号内是说明输入2 (repeat=2)103输出0.64560.8333import java.util.Scanner;public class Test40004 public static void main(String args) int ri, repeat;int i, n, flag;

2、float sum;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri=repeat; ri+) n=in.nextInt(); /*-*/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求11/31/51/7输入一个正整数repeat (0repeat10),做repeat次下列运算:读入1 个正实数eps,计算并输出11/31/51/7

3、,直到最后一项的绝对值小于eps为止(要求每一项的绝对值均大于等于eps,并以float类型输出数据)。例:括号内是说明输入2 (repeat=2)1E-40.1输出0.78530.8349import 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); repeat=in.nextInt(); for(ri=1;

4、 ri=eps) sum+=item; flag=-flag; temp+=2; item=flag*1.0/temp; System.out.println(int)(sum*10000+0.5)/10000.); 40011 求2/13/25/38/5.输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个正整数n,输出 2/1+3/2+5/3+8/5 +.的前n项之和,保留4位小数(不足4位时,不必用0填满4位)。(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)例:括号内是说明输入3 (repeat=3) 1 5 20输出2.0

5、 (第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); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) n=in.nextInt(); /*-*/ /*-*/a=1; /分母b=2

6、; /分子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 求aaaaaaaaa输入一个正整数repeat (0repeat10),做repeat次下列运算:输入2个正整数a和n, 求a+aa+aaa+aaa(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)

7、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); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) a=in.nextInt(); n=in.nextInt(); /*-*/tn=a;sn=0;for(i=1;i=n;i+)sn+=tn;tn=tn*10+a; /迭代公式 System.ou

8、t.println(sn); 40013 判断素数(提示:变量n未用到)输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个正整数m,如果它是素数,输出YES,否则,输出NO(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。例:括号内是说明输入4 (repeat=4) 1 2 9 17输出NO (1不是素数)YES (2是素数) NO (9不是素数) YES (17是素数)import java.util.Scanner;public class Test40013 public static void main(String args) int

9、ri, repeat; int i, m, n; boolean flag; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) m=in.nextInt(); /*-*/ flag=true; if(m=1)flag=false; for(i=2;i=m-1;i+) if(m%i=0) flag=false; break; if(flag) System.out.println(YES); else System.out.println(NO); 40014 求最小公倍数和最大公约

10、数输入一个正整数 repeat (0repeat10),做 repeat 次下列运算:输入两个正整数m和n,输出它们的最小公倍数和最大公约数。输入输出示例:括号内为说明输入:3 (repeat=3)3 7 (m=3,n=7)24 4 (m=24,n=4)24 18 (m=24,n=18)输出:the least common multiple:21, the greatest common divisor:1the least common multiple:24, the greatest common divisor:4the least common multiple:72, the g

11、reatest common divisor:6import java.util.*;public class Test40014 public static void main(String args) Scanner in =new Scanner(System.in); int gcd, lcm, m, n,r; int repeat, ri; repeat=in.nextInt(); for(ri = 1; ri = repeat; ri+) m=in.nextInt(); n=in.nextInt(); if(m = 0 | n = 0) System.out.println(m = 0 or n = 0); else /*-*/ lcm=m*n; if(mn)r=m;m=n;n=r; r=m%n; while(r!=0) m=n; n=r; r=m%n; gcd=n; lcm=lcm/gcd; System.out.println(the least common multiple:+lcm+, the greatest common divisor:+gcd); 40021 求1 + 1/2! +.+ 1/n!输入一个正整数repea

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号