浙大JAVA 實(shí)驗(yàn)題答案09answer_第1頁
浙大JAVA 實(shí)驗(yàn)題答案09answer_第2頁
浙大JAVA 實(shí)驗(yàn)題答案09answer_第3頁
浙大JAVA 實(shí)驗(yàn)題答案09answer_第4頁
浙大JAVA 實(shí)驗(yàn)題答案09answer_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余3頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精選文庫(kù)實(shí)驗(yàn)9-1 Method的使用(二)1. 程序填空題,不要改變與輸入輸出有關(guān)的語句。50010 十進(jìn)制轉(zhuǎn)換二進(jìn)制輸入一個(gè)正整數(shù) repeat (0repeat10),做 repeat 次下列運(yùn)算:輸入1 個(gè)正整數(shù)n,將其轉(zhuǎn)換為二進(jìn)制后輸出。要求定義并調(diào)用函數(shù) dectobin(n),它的功能是輸出 n 的二進(jìn)制。例如,調(diào)用dectobin(10),輸出1010。輸出語句:System.out.print(t); /t為某位二進(jìn)制數(shù)例:括號(hào)內(nèi)是說明輸入:3 (repeat=3)151000輸出:111111001000import java.util.Scanner;public class Test50010 public static void main(String args) int ri,repeat; int i,n; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1;ri0); System.out.print(t); /本方法無返回值,需要在方法體中輸出結(jié)果 說明:本題中方法dectobin(n)的輸出雖然與要求有所出入,但上傳是正確的。以下用遞歸算法實(shí)現(xiàn)方法的設(shè)計(jì):50001 求1 + 1/2! +.+ 1/n!輸入一個(gè)正整數(shù)repeat (0repeat10),做repeat次下列運(yùn)算:輸入1 個(gè)正整數(shù)n,計(jì)算 s 的前n項(xiàng)的和(保留 4 位小數(shù))。 s = 1 + 1/2! +.+ 1/n! 要求定義并調(diào)用函數(shù)fact(n)計(jì)算n的階乘。例:括號(hào)內(nèi)是說明輸入:2 (repeat=2)2 (n=2)10 (n=10)輸出:1.51.7183import java.util.Scanner;public class Test50001 public static void main(String args) int ri,repeat;int i,n;double s;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1;ri=repeat;ri+)n=in.nextInt();/*-*/s=0;for(i=1;i=n;i+)s+=1.0/fact(i); System.out.println(long)(s*10000+0.5)/10000.);/*-*/static double fact(int n) /遞歸方法if(n=1)return 1;else return n*fact(n-1); 50002 求aaaaaaaaa輸入一個(gè)正整數(shù)repeat (0repeat10),做repeat次下列運(yùn)算:輸入2個(gè)正整數(shù)a和n, 求a+aa+aaa+aaa(n個(gè)a)之和。要求定義并調(diào)用函數(shù)fn(a,n),它的功能是返回aaa(n個(gè)a)。例如,fn(3,2)的返回值是33。例:括號(hào)內(nèi)是說明輸入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 Test50002 public static void main(String args) int ri, repeat; int i, n,a; long sn; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) a=in.nextInt(); n=in.nextInt(); /*-*/ sn=0; for(i=1;i=n;i+) sn+=fn(a,i); System.out.println(sn); /*-*/static int fn(int a,int n) /遞歸方法if (n=1)return a;else return fn(a,n-1)*10+a;50006 輸出 Fibonacci 序列輸入一個(gè)正整數(shù)repeat (0repeat10),做repeat次下列運(yùn)算:輸入2 個(gè)正整數(shù)m和n(1=m,n=10000),輸出m 和n之間所有的Fibonacci數(shù)。Fibonacci 序列(第1項(xiàng)起):1 1 2 3 5 8 13 21 .要求定義并調(diào)用函數(shù)fib(n),它的功能是返回第n項(xiàng)Fibonacci數(shù)。例如,fib(7)的返回值是13。輸出語句:System.out.print(f+ );例:括號(hào)內(nèi)是說明輸入:3 (repeat=3)1 10 (m=1, n=10)20 100 (m=20, n=100)1000 6000 (m=1000, n=6000)輸出:1 1 2 3 5 8 (1到10之間的Fibonacci數(shù))21 34 55 89 (20到100之間的Fibonacci數(shù))1597 2584 4181 (1000到6000之間的Fibonacci數(shù))import java.util.Scanner;public class Test50006 public static void main(String args) int ri,repeat; int i, m, n; long f; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) m=in.nextInt(); n=in.nextInt(); /*-*/ i=1; f=1; while(f=m) System.out.print(f+ ); i+; f=fib(i); System.out.println(); /*-*/ static long fib(int n) /遞歸方法if(n=1|n=2) return 1;else return fib(n-1)+fib(n-2); 實(shí)驗(yàn)9-2 一維數(shù)組的使用1. 求平均值輸入一個(gè)正整數(shù)repeat (0repeat10),做repeat次下列運(yùn)算:輸入一個(gè)正整數(shù)n (1n10),再輸入n個(gè)整數(shù),輸出平均值。例:括號(hào)內(nèi)是說明輸入2 (repeat=2) 3 1 2 -65 12 2 5 4 0 輸出aver=-1.0aver=4.6import java.util.Scanner;public class Test60001public static void main(String args)int ri, repeat;int i, n, sum,a;float aver;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri=repeat; ri+) n=in.nextInt(); a=new intn; for(i=0; in; i+) ai=in.nextInt(); /這個(gè)循環(huán)輸入數(shù)組各元素 /*-*/ sum=0; for(i=0; in; i+) /這個(gè)循環(huán)實(shí)現(xiàn)累加 sum+=ai; aver=(float)sum/n; /求平均值,注意要先把sum轉(zhuǎn)換成float,再計(jì)算 System.out.println(aver=+aver);2. 求最大值及其下標(biāo)輸入一個(gè)正整數(shù)repeat (0repeat10),做repeat次下列運(yùn)算:輸入一個(gè)正整數(shù)n (1n10),再輸入n個(gè)整數(shù),輸出最大值極其下標(biāo)(設(shè)最大值惟一,下標(biāo)從0開始)。例:括號(hào)內(nèi)是說明輸入3 (repeat=3) 3 1 6 43 10 8 15 1 2 5 4 0 輸出max=6,index=1 (最大值6的下標(biāo)是1)max=10,index=0 (最大值10的下標(biāo)是0)max=5,index=2 (最大值5的下標(biāo)是2)import java.util.Scanner;public class Test60002 public static void main(String args) int ri, repeat; int i, index, n, a; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) n=in.nextInt(); a=new intn ; for(i=0; in; i+) ai=in.nextInt(); /*-*/ index=0; /用index保存最大數(shù)的下標(biāo),開始假設(shè)a0是最大數(shù) for(i=1; in; i+) if(aindexai) index=i; /ai與當(dāng)前最大數(shù)aindex比較,若ai更大,index變?yōu)閕 System.out.println(max=+aindex+,index=+index); 3. 逆序輸出輸入一個(gè)正整數(shù)repeat (0repeat10),做repeat次下列運(yùn)算:輸入一個(gè)正整數(shù)n (1n10),再輸入n個(gè)整數(shù),按逆序輸出這些數(shù)。例:括號(hào)內(nèi)是說明輸入2 (repeat=2) 4 10 8 1 25 1 2 5 4 0 輸出2 1 8 100 4 5 2 1import java.util.Scanner;public class Test60003 public static void main(String args) int ri, repeat; int i, n, temp,a; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) n=in.nextInt(); a=new intn; for(i=0; in; i+) ai=in.nextInt(); /*-*/ for(i=0; in/2; i+) /ai與an-1-i交換,注意交換次數(shù) temp=ai; ai=an-1-i; an-1-i=temp; for(i=0; in; i+)/輸出一個(gè)數(shù)組 System.out.print(ai+ ); System.out.println(); 4. 交換最小值和最大值輸入一個(gè)正整數(shù)repeat (0repeat10),做repeat次下列運(yùn)算:輸入一個(gè)正整數(shù)n,再輸入n個(gè)整數(shù),將最小值與第一個(gè)數(shù)交換,最大值與最后一個(gè)數(shù)交換,然后輸出交換后的n個(gè)數(shù)。例:括號(hào)內(nèi)是說明輸入3 (repeat=3) 5 4 3 5 1 24 1 5 6 75 5 4 3 2 1 輸出1 3 2 4 51 5 6 71 4 3 2 5import java.util.Scanner;public class Test60004 public static void main(String args) int ri, repeat; int i, index, n, t,a; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) n=in.nextInt(); a=new intn; for(i=0; in; i+) ai=in.nextInt(); /*-*/ index=0; /找最小數(shù),與第一個(gè)數(shù)交換

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論