数组与递归(homework)

来源:互联网 发布:ubuntu 14.04 提权 编辑:程序博客网 时间:2024/06/07 01:54
package org.westos.homework2;/** * 1:(25分)给定一个int类型的数组,要求:     1.求和     2.求平均数(int)     3.求最大值,最小值     4.打印这个数组中数据 */public class Array {public static void main(String[] args) {int[] a={21,34,78,45,66,89,22,12,59};int sum=getSum(a);    int average=sum/a.length;System.out.println("数组和为:"+sum);System.out.println("数组的平均数为:"+average);int Max=getMax(a);System.out.println("数组中的最大值为:"+Max);int Min=getMin(a);System.out.println("数组中的最小值为:"+Min);System.out.print("数组中每一个元素为:");Print(a);}public static int   getSum(int[] a) {int sum=0;for(int i=0; i<a.length; i++){sum+=a[i];}return sum;}public static int  getMax(int[] a) {int temp=a[0];for(int i=1; i<a.length; i++){if(a[i]>temp){temp=a[i];}}return temp;}public static int  getMin(int[] a) {int temp=a[0];for(int i=1; i<a.length; i++){if(temp>a[i]){temp=a[i];}}return temp;}public static void  Print(int[] a) {     for(int i=0; i<a.length; i++)     {     System.out.print(a[i]+" ");     }}}
package org.westos.homework2;package org.westos.homework2;/** *2:(25分)给定两个整型数组a和b,找出其共同元素。     eg:int[] a={23,12,45,11};     int[] b={99,33,12,45,67,11}         要找出:12,45,11 */public class Find {public static void main(String[] args) {int[] a={23,12,45,11};int[] b={99,33,12,45,67,11};     find(a, b);}public static void find(int[] a,int[] b) {int[] c;boolean flag=false;int k=0;if(a.length>b.length){c=new int[b.length];for (int i = 0; i < b.length; i++) {for (int j = 0; j < a.length; j++) {if(b[i]==a[j]){flag=true;c[k++]=a[j];break;}}}}else {c=new int[a.length];for (int i = 0; i < a.length; i++) {for (int j = 0; j < b.length; j++) {if(a[i]==b[j]){flag=true;c[k++]=a[i];break;}}}}if(flag){System.out.print("这两个数组的共同元素有:");for(int i=0; i<k; i++){System.out.print(c[i]+" ");}}else {System.out.println("没有找到相同的元素!!!");}}}
package org.westos.homework2;/** 3. (25分)在某歌唱比赛中,共有10位评委进行打分,在计算歌手得分时,去掉一个最高分, 去掉一个最低分,然后剩余的8位评委的分数进行平均,就是该选手的最终得分。 10位评委对某歌手的打分分别是:78、60、85、96、77、66、60、82、88、85。 计算该歌手的最终得分。 */public class AverageScore {public static void main(String[] args) {int[] a={78,60,85,96,77,66,60,82,88,85};System.out.println("该歌手的最终得分为:"+averageScore(a));}public static int  averageScore(int[] a) {int sum=0;int max=a[0],min=a[0];for (int j = 0; j < a.length; j++) {sum+=a[j];if(a[j]>max){max=a[j];}if(a[j]<min){min=a[j];}}int average=(sum-max-min)/(a.length-2);return average;}}
package org.westos.homework2;/**4.(25分)兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。初始有一对小兔子,假设所有兔子都不死,计算前12个月每个月的兔子对数。 */public class Rabbit {public static void main(String[] args) {System.out.println("前12个月每月的兔子对数为:");for(int i=1; i<=12; i++){System.out.println("第"+i+"个月有"+rabbit(i)+"对兔子");}}public static int  rabbit(int month) {if(month==1 || month==2){return 1;}int temp=rabbit(month-1)+rabbit(month-2);return temp;}}
原创粉丝点击