数组---day2

一、安装配置 MyEclipse ,使用 MyEclipse 插件连接 SVN 服务器 ;

三、完成如下练习

1.定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。

   

2.定义一个int型的一维数组,包含10个元素,分别赋值为1~10 然后将数组中的元素都向前移一个位置,即,a[0]=a[1],a[1]=a[2],…最后一个元素的值是原来第一个元素的值,然后输出这个数组。

  

3. 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40 0~100之间的随机整数,将它们存储到一维数组中,然后统计成绩低于平均分的学员的人数,并输出出来。

   

4. (选做)承上题,将这40个成绩按照从高到低的顺序输出出来。

5,(选做)编写程序,将一个数组中的元素倒排过来。例如原数组为12345

    则倒排后数组中的值为54321

   

6,  要求定义一个int型数组a,包含100个元素,保存100个随机的4位数。再定义一个

   int型数组b,包含10个元素。统计a数组中的元素对10求余等于0的个数,保存

   b[0]中;对10求余等于1的个数,保存到b[1]中,……依此类推。

  

7,定义一个20*5的二维数组,用来存储某班级20位学员的5门课的成绩;这5门课

   按存储顺序依次为:core C++coreJavaServletJSPEJB

   1)循环给二维数组的每一个元素赋0~100之间的随机整数。

   2)按照列表的方式输出这些学员的每门课程的成绩。

   3)要求编写程序求每个学员的总分,将其保留在另外一个一维数组中。

   4)要求编写程序求所有学员的某门课程的平均分。

package day2;

import java.lang.*;
public class day2_1 {
 /**
  * @author davyzhu
  *
  */

 /**
  * @param 1.定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,
      * 最小值,平均值,和值,并输出出来。
  */
 public static void main(String[] args) {
  
  int[] arr=new int[10];
  int i,j,k,temp,sum=0,average;
  
  for(i=0;i<10;i++)
  {
   arr[i]= (int) (Math.random() *100);
   
  }
  
  
  for(j=1;j<10;j++)//冒泡排序
  {
   for( k=9;k>=j;k--)
   {
    if(arr[k]<arr[k-1])
     {
         temp=arr[k-1];
         arr[k-1]=arr[k];
         arr[k]=temp;
     }
     
   }
  }
  for(i=0;i<10;i++)
      sum+=arr[i];
  
  average=sum/10;
  for(i=0;i<10;i++)
   System.out.print(arr[i]+"  ");
  System.out.print("最大值:"+arr[9]);
  System.out.print("最小值:"+arr[0]);
  System.out.print("平均值:"+average);
  System.out.print("总和:"+sum);

 }

}
package day2;

public class day2_2 {
 /**
  * @author davyzhu
  *
  */

 /**
  * @param 2.定义一个int型的一维数组,包含10个元素,分别赋值为1~10,
  *            然后将数组中的元素都向前移一个位置,即,a[0]=a[1],a[1]=a[2],… 最后一个元素的值是原来第一个元素的值,
  *            然后输出这个数组。
  *
  */
 public static void main(String[] args) {
  int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
  int i, j, temp;
  temp = arr[0];
  for (i = 0; i < 9; i++) {
   arr[i] = arr[i + 1];
  }
  arr[i] = temp;

  for (i = 0; i < 10; i++)
   System.out.print(arr[i] + " ");

 }

}
package day2;

public class day2_3 {
 /**
  * @author davyzhu
  *
  */

 /**
  * @param 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,
  *            循环产生40个 0~100之间的随机整数,将它们存储到一维数组中, 然后统计成绩低于平均分的学员的人数,并输出出来。
  */
 public static void main(String[] args) {
  int[] arr = new int[40];
  int i, n = 0, sum = 0, average;

  for (i = 0; i < 40; i++)
   arr[i] = (int) (Math.random() * 100);
  for (i = 0; i < 40; i++)
   sum += arr[i];
  average = sum / 40;
  for (i = 0; i < 40; i++) {
   if (arr[i] < average)
    n++;
  }
  for (i = 0; i < 40; i++) {
   System.out.print(arr[i] + " ");
   if (i % 10 == 0)
    System.out.println();
  }
  System.out.print("平均成绩:" + average);
  System.out.print("成绩低于平均分的学员的人数:" + n);

 }

}
package day2;

public class day2_4 {
 /**
  * @author davyzhu
  *
  */

 /**
  * @param 4.
  *            (选做)承上题,将这40个成绩按照从高到低的顺序输出出来。
  */
 public static void main(String[] args) {
  int[] arr = new int[40];
  int i, j, k, temp;

  for (i = 0; i < 40; i++)
   arr[i] = (int) (Math.random() * 100);
  for (j = 1; j < 40; j++)// 冒泡排序
  {
   for (k = 39; k >= j; k--) {
    if (arr[k] < arr[k - 1]) {
     temp = arr[k - 1];
     arr[k - 1] = arr[k];
     arr[k] = temp;
    }

   }
  }

  System.out.print("成绩按照从高到低的顺序输出:");
  for (i = 39; i >= 0; i--)
   System.out.print(arr[i] + "  ");

 }

}
package day2;

public class day2_5 {
 /**
  * @author davyzhu
  *
  */

 /**
  * @param 5,(选做)编写程序,将一个数组中的元素倒排过来。例如原数组为1,2,3,4,5;
  *            则倒排后数组中的值为5,4,3,2,1。
  *
  */
 public static void main(String[] args) {

  int[] arr = new int[] { 1, 2, 3, 4, 5 };
  int i, l, n, temp = 0;
  l = arr.length;
  n = l / 2;

  for (i = 0; i < n; i++) {
   l--;
   temp = arr[i];
   arr[i] = arr[l];
   arr[l] = temp;
  }

  for (i = 0; i < arr.length; i++)
   System.out.print(arr[i]);

 }

}
package day2;

import java.util.*;

public class day2_6 {
 /**
  * @author davyzhu
  *
  */

 /**
  * @param 要求定义一个int型数组a,包含100个元素,保存100个随机的4位数。再定义一个
  *            int型数组b,包含10个元素。统计a数组中的元素对10求余等于0的个数,保存
  *            到b[0]中;对10求余等于1的个数,保存到b[1]中,……依此类推。
  *
  */
 public static void main(String[] args) {
  int[] a = new int[100];
  int[] b = new int[10];
  int j;// 对10求余
  Random rom = new Random();

  for (int i = 0; i < 100; i++) {

   a[i] = rom.nextInt(9999);
  }

  for (int i = 0; i < 100; i++) {
   j = a[i] % 10;

   switch (j) {
   case 0:
    b[0]++;
    break;
   case 1:
    b[1]++;
    break;
   case 2:
    b[2]++;
    break;
   case 3:
    b[3]++;
    break;
   case 4:
    b[4]++;
    break;
   case 5:
    b[5]++;
    break;
   case 6:
    b[6]++;
    break;
   case 7:
    b[7]++;
    break;
   case 8:
    b[8]++;
    break;
   case 9:
    b[9]++;
    break;

   }

  }

  for (int i = 0; i < 10; i++) {

   System.out.print("b[" + i + "]" + "=" + b[i] + "  ");
  }

 }

}
package day2;

public class day2_7 {

 /**
  * @param args
  *
  * 定义一个20*5的二维数组,用来存储某班级20位学员的5门课的成绩;这5门课 按存储顺序依次为:core
  * C++,coreJava,Servlet,JSP和EJB。 (1)循环给二维数组的每一个元素赋0~100之间的随机整数。
  * (2)按照列表的方式输出这些学员的每门课程的成绩。 (3)要求编写程序求每个学员的总分,将其保留在另外一个一维数组中。
  * (4)要求编写程序求所有学员的某门课程的平均分。
  *
  */
 public static void main(String[] args) {
  int[][] arr = new int[20][5];
  int[] sum = new int[20];// 存放每个学生的总分
  int[] total = new int[5];
  int i, j, k = 0;

  for (i = 0; i < 20; i++)
   for (j = 0; j < 5; j++)// 初始化数组
   {
    arr[i][j] = (int) (Math.random() * 100);

   }

  // **********************输出学员的每门课程的成绩************************
  System.out.println("                       学生成绩");
  System.out
    .println("    core C++  coreJava    Servlet     JSP     EJB ");
  for (i = 0; i < 20; i++) {
   System.out.print(i + "号 ");
   for (j = 0; j < 5; j++) {

    System.out.print(arr[i][j] + "         ");
   }
   System.out.println();

  }

  // ***********************每个学员的总分***********************
  for (i = 0; i < 20; i++) {
   for (j = 0; j < 5; j++) {
    sum[i] += arr[i][j];

   }
   System.out.println(i + "号学生总分:" + sum[i]);

  }

  // ******************所有学员的某门课程的平均分*****************
  System.out.println("core C++   coreJava    Servlet    JSP     EJB");
  for (i = 0; i < 5; i++) {
   for (j = 0; j < 20; j++) {
    total[i] += arr[i][i];
   }

   System.out.print("       " + total[i] / 20);
  }

 }

}

课堂笔记

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值