数组与递归(homework)

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;
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值