数组、冒泡排序、打分(例题)

数组的定义:内存中,连续存储同一类数据的一块空间。

定义数组:

int  a[]=new int[数组长度];              例:   int a[]= new int[5];

 也可以写成:

 int []a=new int[数组长度];       例:   int []a=new int[5];

  

赋值:

a[下标]=值;   例:     a[0]=10;

取值:

a[下标]

例:     将值打印出来;
  System.out.print(a[0]);

 

冒泡排序:

int []a=new int[]{15,30,28,16,37};                            //定义一个整数数组

int zhong=0;                                                   //定义一个变量

for(int i=1;i<=a.length-1;i++)                                   //外面的循环是趟数,内循环是次数
{
     for(int j=1;j<=a.length-i;j++)
     {
           if(a[j]<a[j-1])                                          //判断,如果后一个数小于前一个数,那么就把他们的值调换过来
           {
                zhong=a[j];
                a[j]=a[j-1];
                 a[j-1]=zhong;
            }
      }
}

for(int i=0; i<a.length;i++)                                //这个循环是将排序的值 分别打印出来
{
    System.out.print(a[i]+"\t");

}

  

 

评委打分:输入五个评委打的分数,去掉一个最高分,去掉一个最低分,求平均分。

//输入
		int shu[]=new int[5];
		System.out.println("请输入评委打的分数");
		Scanner sc=new Scanner(System.in);
		for(int i=0;i<5;i++)
		{
			shu[i]=sc.nextInt();
		}

		//排序
		int zhong=0;
		for(int i=1;i<=shu.length-1;i++)
		{
			for(int j=1;j<=shu.length-i;j++)
			{
				if(shu[j]<shu[j-1])
				{
					zhong=shu[j];
					shu[j]=shu[j-1];
					shu[j-1]=zhong;
				}
			}
		}

		//去掉最大值和最小值,剩下的求平均值
		int sum=0;
		for(int i=1; i<=shu.length-2;i++)
		{
			sum=sum+shu[i];
		}

		int avg=sum/(shu.length-2);

		//输出

		System.out.print("去掉一个最高分"+shu[shu.length-1]+",去掉一个最低分"+shu[0]+",平均得分"+avg);

  

  

时间: 2024-11-03 22:16:45

数组、冒泡排序、打分(例题)的相关文章

数组冒泡排序,文件读取,数据库读取,string类型的int数组转换成int数组

排序方式(枚举) 1 public enum SortBy 2 { 3 Asc, 4 Desc 5 } 数组冒泡排序方法 1 public class SortEntity 2 { 3 public static int[] SortArray(int[] array,SortBy sortby) 4 { 5 int flag; 6 switch (sortby) 7 { 8 case SortBy.Asc: 9 for (int i = 0; i < array.Length - 1; i++

数组 冒泡排序 打印菱形 随机生成不同的数

判断一个数是否是质数  对这个数从1到这个数挨着取余 如果取余等于零则计数+1,所以当计数=2是  那么说明这个数只能被一和它本身整除 所以它是质数 打印菱形  每一行首先打印空格  然后打印符号 先打印上半部分 然后下半部分 这时候中间两行出现重复 那么需要去掉一行 数组 冒泡排序 首先定义数组 利用for循环把值输入到数组里边 后利用两个for循环 把数组里的数挨个比较 排序 如果a[i]<a[i+i] 然后进行交换 那么是降序输出 如果a[i]>a[i+1] 然后交换了  那么是升序排列

深度剖析数组冒泡排序

<?php /* *@Category  数组冒泡排序类 *@param array_arsort 类中操作方法 *@author yalong sun */ //从大到小排序 class array_maopao{ public function array_arsort($array){ $ary = ''; for($j=0;$j<count($array);$j++){           //其实就是循环的次数 for($i=0;$i<count($array)-1;$i++)

从数组冒泡排序迁移到链表冒泡排序

链表是一种常见的数据结构,在启发式搜索中我们常常需要把无序的链表,按照结点包含的元素数量从小到大排列整齐.面对链表排序问题,尤其是在链表节点是一张巨大的表的情况下,传统的交换法显得力不从心,而通过修改指针指向来使链表逻辑序列有序化是主要的解决途径. 如何对链表进行排序,可以借鉴我们所熟知的数组冒泡的思想.在数组冒泡中我们通过交换与移动两种操作把最值向后移动,在不同趟的排序中我们只需要维护一个变动的尾部.链表的冒泡思路与数组的冒泡是一致的,只不过具体的操作上有些不同,无论是交换还是移动操作,链表都

js数组冒泡排序,快速排序的原理以及实现

实习了好久,大概用了半年ng2了吧,突然被同事问到js排序问题,一时竟有些懵逼,回来就温故一下,希望自己不忘初心,加油加油! 冒泡排序: 随便从数组中拿一位数和后一位比较,如果是想从小到大排序,那么就把小的那一位放到前面,大的放在后面,简单来说就是交换它们的位置,如此反复的交换位置就可以得到排序的效果. function sortA(arr){ for(var i=0;i<arr.length-1;i++){ for(var j=i+1;j<arr.length;j++){ //获取第一个值和

数组---冒泡排序

所谓数组,就是相同数据类型的元素按一定的顺序排列的集合,就是把有限个数据类型相同的变量用一个名字命名,然后用编号区分她们的变量的集合,这个名称就叫数组名,编号称为下标. 组成数组的各个变量称为数组的分量或元素. 数组中元素的索引是从0开始的,也就是a[0],a[1]....... 引用一下:冒泡排序 冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重

数组冒泡排序、选择排序、二分查找法

1 数组高级冒泡排序原理图解[掌握] 画图演示 需求: 数组元素:{24, 69, 80, 57, 13} 请对数组元素进行排序. 冒泡排序 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 2 数组高级冒泡排序代码实现[掌握] 案例演示 数组高级冒泡排序代码 package com.heima.array; public class Demo1_Array { public static void main(String[] args) { int[] arr = {24,

作业练习,一维数组实现打分功能

/* * 一位数组:实现打分 */ package com.lianxi; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Test7 { public static void main(String[] args) { // TODO Auto-generated method stub Judge juage=new Judge(

2015.12.08 数组 冒泡排序

昨天学到的函数,在C语言中是这么叫,而在OC和swift中叫做“方法”. 数组 数组不像是“char”.“int”.“float”之类的类型保存单个数据,数组是用来保存多个相同类型的数据的. 在定义数组的时候,必须要确定数组的元素个数! 例://定义一个数组,拥有5个元素,默然每个元素的值为0 int numsArray[5];   //5 * 4 = 20 //定义一个数组,拥有4个元素,依次是1, 2, 3, 4 int numsArray[] = {1, 2, 3, 4};   //4 *

js面试常考之数组冒泡排序

js的数组排序 给出一个无需的数字数组,让写冒泡排序: 解析:冒泡排序是指由第一项数与第二项的数相比较,第一项大的话两者互换位置,若第二项大的话就位置不变: 在接着比较第二第三项,比较结果重复上一个步骤:(内for循环)   第一次比较完后在从第二项开始在按上一环节比较:(外for循环) 只到循环完最后第二项为止: 举例数组 arr = [3,56,4,1,34,78,23,59,66,42]; //冒泡排序 function arrSort(arr){ var len = arr.length