Java程序設計案例教程 第2版 習題答案 習題4_第1頁
Java程序設計案例教程 第2版 習題答案 習題4_第2頁
Java程序設計案例教程 第2版 習題答案 習題4_第3頁
Java程序設計案例教程 第2版 習題答案 習題4_第4頁
Java程序設計案例教程 第2版 習題答案 習題4_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGE1【習題4】一、選擇題CCDC二、填空題1、arraycopy()2、sort()binarySearch()三、簡答題1、簡述一維數組的聲明與創建方法。答:一維數組的聲明方法:(1)數據類型[]數組名;(2)數據類型數組名[];一維數組的創建方法:(1)數組名=new數據類型[數組長度];數組的聲明與創建也可以用一條語句表示,格式為:(1)數據類型[]數組名=new數據類型[數組長度];或(2)數據類型數組名[]=new數據類型[數組長度];2、簡述二維數組的聲明與創建方法。答:二維數組的聲明方法:(1)數據類型[][]數組名;(2)數據類型數組名[][];二維數組的創建方法:(1)直接創建數組,為每一維分配存儲空間,數組可使用new關鍵字創建二維數組,并分配存儲空間,格式如下:數組名=new數據類型[第1維長度][第2維長度];(2)從高維開始,分別為每一維分配存儲空間數組名=new數據類型[第1維的長度][];數組名[0]=new數據類型[第2維中第1行的長度];數組名[1]=new數據類型[第2維中第2行的長度];……3、簡述二維數組在內存中是如何存儲的?答:(1)當聲明一個二維數組時,在棧中生成一個引用變量(指針),例如int[][]a;如圖(a)所示。(2)從高維開始創建數組,new關鍵字生成了一個數組,例如,a=newint[3][];這個數組是在堆中的,共有3個元素,而這3個元素是數組,如圖(b)所示。(3)分別為它們分配空間: a[0]=newint[1]; a[1]=newint[2]; a[2]=newint[3];如圖(c)所示。(4)可以訪問這些數組元素,如圖(d)所示。四、編程題1、某班有30名學生進行了數學考試,編寫程序將考試成績輸入一維數組,并求數學的平均成績及不及格學生的人數。importjava.util.Scanner;publicclassEx4_1{ publicstaticvoidmain(String[]args){ int[]score=newint[30]; inti; intnum=0,sum=0,ave; Scannersc=newScanner(System.in); System.out.println("輸入30個成績:"); for(i=0;i<score.length;i++){ score[i]=sc.nextInt(); } for(i=0;i<score.length;i++){ sum+=score[i]; if(score[i]<60) num++; } ave=sum/score.length; System.out.println("平均分:"+ave+",不及格人數:"+num); }}2、設有一數列,它的前四項為0、0、2、5,以后每項分別是其前四項之和,編程求此數列的前20項。publicclassEx4_2{ publicstaticvoidmain(String[]args){ int[]a=newint[20]; inti; a[0]=0;a[1]=0;a[2]=2;a[3]=5; for(i=4;i<a.length;i++){ a[i]=a[i-1]+a[i-2]+a[i-3]+a[i-4]; } for(i=0;i<a.length;i++){ System.out.print(a[i]+"\t"); if(i%4==3){ System.out.println(); } } }}3、設計一程序打印楊輝三角形。1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1publicclassEx4_3{ publicstaticvoidmain(String[]args){ int[][]t=newint[10][]; inti,j; for(i=0;i<t.length;i++) t[i]=newint[i+1]; //第一列和對角線賦值1 for(i=0;i<t.length;i++){ t[i][i]=1; t[i][0]=1; } //求其他位置的值,每一項是它上一項和上一項左面一項的和 for(i=2;i<t.length;i++) for(j=1;j<t[i].length-1;j++) t[i][j]=t[i-1][j]+t[i-1][j-1]; //輸出 for(i=0;i<t.length;i++){ for(j=0;j<t[i].length;j++) System.out.print(t[i][j]+"\t"); System.out.println(); } }}4、某小組有5個學生,考了三門課程,他們的學號及成績如表4-2所示,試編程求每個學生的總成績及每門課的最高分,并按下表4-2形式輸出。表4-2學生成績情況表學號數學語文外語總成績10019080851002707580100365707510048560701005809070最高分importjava.util.Scanner;publicclassEx4_4{ publicstaticvoidmain(String[]args){ int[][]a=newint[6][5]; inti,j,max,sum; Scannersc=newScanner(System.in); System.out.println("輸入5名學生的學號數學語文外語"); for(i=0;i<a.length-1;i++) for(j=0;j<a[i].length-1;j++) a[i][j]=sc.nextInt(); for(j=1;j<=3;j++){ max=a[0][j]; for(i=0;i<a.length-1;i++){ if(max<a[i][j]) max=a[i][j]; } a[5][j]=max; } for(i=0;i<a.length-1;i++){ sum=0; for(j=1;j<=3;j++){ sum=sum+a[i][j]; } a[i][4]=sum; } System.out.println("學號\t數學\t語文\t外語\t總分"); for(i=0;i<a.length;i++){ for(j=0;j<a[i].length;j++) if(i==5&&j==0) System.out.print("最高分\t"); elseif(i==5&&j==4) System.out.print("\t"); else System.out.print(a[i][j]+"\t"); System.out.println(); } }}5、輸入一個5行5列的二維數組,編程實現:(1)求出其中的最大值和最小值及其對應的行列位置;(2)求出主副對角線上各元素之和。importjava.util.Scanner;publicclassEx4_5{ publicstaticvoidmain(String[]args){ int[][]a=newint[5][5]; inti,j,max_i,max_j,min_i,min_j,max,min,sum=0; Scannersc=newScanner(System.in); System.out.println("請輸入5行5列數組:"); for(i=0;i<a.length;i++) for(j=0;j<a[i].length;j++) a[i][j]=sc.nextInt(); max=a[0][0];max_i=0;max_j=0; min=a[0][0];min_i=0;min_j=0; for(i=0;i<a.length;i++) for(j=0;j<a[i].length;j++){ if(a[i][j]>max){ max=a[i][j]; max_i=i; max_j=j; } if(a[i][j]<min){ min=a[i][j]; min_i=i; min_j=j; }

溫馨提示

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

評論

0/150

提交評論