1:(25分)给定一个int类型的数组,要求:
3. (25分)在某歌唱比赛中,共有10位评委进行打分,在计算歌手得分时,去掉一个最高分,去掉一个最低分,然后剩余的8位评委的分数进行平均,就是该选手的最终得分。
4.(25分)兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。初始有一对小兔子,假设所有兔子都不死,计算前12个月每个月的兔子对数。(递归)
分析:
第一个月:1对
第二个月:1对
第三个月:2对
第四个月:3对
第五个月:5对
1.求和
2.求平均数(int)
3.求最大值,最小值
4.打印这个数组中数据
代码:
package org.homework;
public class Array1 {
public static void main(String[] args) {
int[] a={22,13,14,34,65,18};
int i=0;
int sum=sum(i,a);
System.out.println(sum); //输出数组中数据之和
int average=average(i,sum,a);
System.out.println(average); // 输出平均数
int max=max(a);
System.out.println(max); //输出最大值
System.out.println(min(a)); //输出最小值
for(i=0;i<a.length;i++){
System.out.print(a[i]+","); //输出数组中的数据
}
}
public static int sum(int i,int[] a) {
int sum=0;
for(i=0;i<a.length;i++){
sum+=a[i];
}return sum;
}
public static int average(int i, int sum,int[] a) {
int average;
average=sum/a.length;
return average;
}
public static int max(int[] a){
int max=a[0];
for(int i=0;i<a.length;i++){
max=(max>a[i]?max:a[i]); //运用三目运算符找出最大值
}
return max;
}
public static int min(int[] a){
int min=a[0];
for(int i=0;i<a.length;i++){
min=(min<a[i]?min:a[i]); //运用三目运算符找出最小值
}
return min;
}
结果运行图:
2:(25分)给定两个整型数组a和b,找出其共同元素。
eg:int[] a={23,12,45,11};
int[] b={99,33,12,45,67,11}
要找出:12,45,11
代码:
package org.homework;
public class FindSame {
public static void main(String[] args) {
int[] a={23,12,45,11};
int[] b={99,33,12,45,67,11};
sameNumeber(a,b);
}
public static void sameNumeber(int[] a,int[] b){
for(int i=0;i<a.length;i++){
for(int j=0;j<b.length;j++){
if(a[i]==b[j]){ //判断数据是否相等,相等输出,不相等继续循环直到最后所有数据被遍历为止
System.out.print(a[i]+",");
}
}
}
}
}
结果运行图:
3. (25分)在某歌唱比赛中,共有10位评委进行打分,在计算歌手得分时,去掉一个最高分,去掉一个最低分,然后剩余的8位评委的分数进行平均,就是该选手的最终得分。
10位评委对某歌手的打分分别是:78、60、85、96、77、66、60、82、88、85。计算该歌手的最终得分。
代码:
package org.homework;
public class SingingGame {
public static void main(String[] strs) {
int[] a={78,60,85,96,77,66,60,82,88,85};
max(a);
min(a);
sum(a);
System.out.println(average(sum(a),min(a),max(a),a));
}
public static int max(int[] a){ //自己写的一个方法用三目运算符找出最大值
int max=a[0];
for(int i=0;i<a.length;i++){
max=(max>a[i]?max:a[i]);
}
return max;
}
public static int min(int[] a){ //同样方法找出最小值(也可用if语句)
int min=a[0];
for(int i=0;i<a.length;i++){
min=(min<a[i]?min:a[i]);
}
return min;
}
public static int sum(int[] a){ //计算数组数据之和
int sum=0;
for(int i=0;i<a.length;i++){
sum+=a[i];
}return sum;
}
public static double average(int sum,int min,int max,int[] a){ //写方法求去掉最大值和最小值后的平均数
double average=(double)(sum-max-min)/(a.length-2);
return average;
}
}
结果运行图:
4.(25分)兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。初始有一对小兔子,假设所有兔子都不死,计算前12个月每个月的兔子对数。(递归)
分析:
第一个月:1对
第二个月:1对
第三个月:2对
第四个月:3对
第五个月:5对
......
代码:
package org.homework;
public class Rabbit {
public static void main(String[] args){
int month = 0;
for(month=1;month<=12;month++){ //限制月数为1~12个月
int sum=count(month); //定义sum接收count方法返回的值
System.out.println("第"+month+"个月有"+sum+"只兔子"); //输出每个月的兔子数
}
}
public static int count(int month){ //定义一个返回值为int类型的方法
int num=1; //定义兔子的初始数量num为1对
if(month>=3){
num = count(month-1) + count(month-2); //从第三个月开始兔子的数量等于前两个月兔子数量的和
}
return num;//返回兔子的数量
}
}
结果运行图: