数组及其练习题

数组:
一组变量
可以批量处理同一类型的数据

一维数组,二维数组,多维数组

定义一维数组:
一、int[] aa = new int[5];
定义了一个长度为5的int类型数组,但是未赋值,里面默认5个0,string类型的数组,未赋值的情况下,里面默认是“”;

二、int[] aa = new int[5]{1,2,3,4,5};
定义了一个长度为5个int类型数组,并且立刻给它5个空都赋上值;

三、int[] bb = new int[] {22,33,44,55,66};
不定义长度,直接赋值,计算机会自动计算长度;

赋值:
aa[0] = 值;

取值:
int a = aa[0];

PS:定义时,中括号里放的是长度
而使用时是索引,下标
------------------------------------------------------------------------
二维数组:
1、定义
int[] aa = new int[2,4]
{{1,2,3,4},{5,6,7,8}};
//2表示这个二维数组里有两个一维数组,4表示每个一维数组的长度。
2、赋值:
aa[0,1] = 值;
//0表示从这个二维数组里的第一个一维数组,1表示从第一个数组里的序位数为1的值。
3、取值:
int a = aa[0,1];

PS:取值时一定要看好中括号里的每一条信息
------------------------------------------------------------------------
三维数组:
1、定义
int[] aa = new int[2,3,4]
{
{{1,2,3,4},{5,6,7,8},{10,22,33,55}},
{{11,22,33,44},{55,66,77,88},{99,110,220,330}}
};
//2表示这个三维数组里有两个二维数组,3表示这个二维数组里有三个一维数组,4表示每个一维数组的长度。
2、赋值:
aa[0,1,3] = 值;
//0表示从这个三维数组里的第一个二维数组,1表示从第一个二维数组里的第一个一维数组,3表示从第一个一维数组里的序位数为3的值。
3、取值:
int a = aa[0,1,3];

------------------------------------------------------------------------
练习题:
1、

请输入学员的人数:
请输入第1个学员的分数:
请输入第2个学员的分数:
....
请输入第n个学员的分数:
*******************************
一共n个学生;
第1个学员的分数是:
第2个学员的分数是:
....
第3个学员的分数是:
总分是:
平均分是:
*******************************
最高分是第x个学生,分数是:
最低分是第y个学生,分数是:

            //接收用户输入的人数
            Console.Write("请输入学生的人数:");
            int n = Convert.ToInt32(Console.ReadLine());

            //第一一个无限长度的一维数组
            decimal[] a = new decimal[n];
            for (int i = 0; i < n; i++)
            {
                Console.Write("请输入第" + (i + 1) + "个学生的成绩:");
                a[i] = Convert.ToDecimal(Console.ReadLine());
            }
            Console.WriteLine("*******************************");
            Console.WriteLine("一共有" + n + "个学生。");
            decimal end = 0m;
            for (int j = 0; j < n; j++)
            {
                Console.WriteLine("第" + (j + 1) + "个学生的成绩是:" + a[j]);
                end += a[j];
            }
            Console.WriteLine("总分是:" + end);
            Console.WriteLine("平均分是:" + (end / n));
            Console.WriteLine("*******************************");
            decimal min = 100, max = 0;
            int b = 0, c = 0;
            for (int k = 0; k < n; k++)
            {
                if (min > a[k])
                {
                    min = a[k];
                    c = k + 1;
                }
                if (max < a[k])
                {
                    max = a[k];
                    b = k + 1;
                }
            }
            Console.WriteLine("最高分是第" + b + "个学生,分数是:" + max + ";最低分是第" + c + "个学生,分数是:" + min);
            Console.ReadKey();

2、

冒泡排序:定义一个长度为10的int类型一维数组,
里面的值随意输入10个,然后让数组从大到小排列出来

            //1、定义长度为10的一维数组
            int[] a = new int[10] { 3, 5, 2, 6, 34, 56, 23, 78, 9, 10 };

            //2、判断大小
            int z = 0;
            for (int i = 0; i < 10; i++)
            {
                for (int j = i + 1; j < a.Length; j++)
                {
                    if (a[i] < a[j])//从大到小排列打印,if (a[i] > a[j]) 从小到大排列打印
                    {
                        z = a[i];
                        a[i] = a[j];
                        a[j] = z;
                    }
                }
            }

            for (int i = 0; i < a.Length; i++)
            {
                Console.WriteLine(a[i]);
            }

            Console.ReadLine();

时间: 2024-10-25 11:55:24

数组及其练习题的相关文章

hdu 1166:敌兵布阵(树状数组,练习题)

敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 37773    Accepted Submission(s): 15923 Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就

php学习笔记之数组遍历练习题1

练习题一: 设置数组$attr = array( array("n001","汉族"), array("n002","回族"), array("n003","苗族"), array("n004","维吾尔族"), ); //1.要求用下拉列表的样式显示在页面上<?php /*foreach($a as $v) { echo"<

关于数组的练习题:

1.定义一个长度为5的int类型数组. int[] ar=new int[5];//声明一个长度为5的整型数组 ar[0]=4;//数组赋值,从0下标开始 ar[1]=54; ar[2]=2; ar[3]=8; ar[4]=99;//数组下标最大值为数组长度减1 2.对数组进行遍历. string[] str={"你","还","好","吗","?"}; Cosole.WriteLine("下面显

0915,数组,练习题,

数组: 有固定长度的同种类型的一组变量,有索引,索引从0开始 foreach 便利数组 int[] shuzu = new int[6]; // 定义了一个长度为6的int类型的数组 Random r = new Random(); for (int i = 0; i < 6; i++) { shuzu[i] = r.Next(1,56); Console.WriteLine(shuzu[i]); } // 一, 如何生成 6个不一样的数 int[] shuzu = new int[6]; //

第2章 排序 || 第15节 有序数组合并练习题

题目 有两个从小到大排序以后的数组A和B,其中A的末端有足够的缓冲空容纳B.请编写一个方法,将B合并入A并排序. 给定两个有序int数组A和B,A中的缓冲空用0填充,同时给定A和B的真实大小int n和int m,请返回合并后的数组. 解析 class Merge { public: int* mergeAB(int* A, int* B, int n, int m) { // write code here while(n>0&&m>0) { if(A[n-1]>B[m

JS中,关于数组的练习题

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <p> 在一个大学的编程选修课班里,我们得到了一组参加该班级的学生数据,分别是姓名.性别.年龄和年级,接下来呢,我们要利用JavaScript的知识挑出其中所有是大一的女生的的名字哦. 学生信息如下: ('小A',

Java数组练习题小结

//2015/07/07 //Java数组小小练习题 /* 3. 写一个函数,计算一个整数数组的平均值 4. 自定义一个整数数组a,读入一个整数n,如果n 在数组中存在,则输出n 的下标:如果不存在,则输出-1. 5. 给定一个数组,输出数组中的最大值和最小值 6. *给定一个数组,把这个数组中所有元素顺序进行颠倒. 7. *完成数组的冒泡排序算法:给定一个数组:int[] a = {1,3,2,7,5},利用冒泡排序对其按照从小到大的顺序排序,然后输出结果. 8. *使用第二种算法对数组进行排

算法--两个有序数组合并

两个有序数组合并 关键点:从后往前进行比较,这样保证数组A有用的部分不会因为在合并的过程中覆盖掉 第15节 有序数组合并练习题 有两个从小到大排序以后的数组A和B,其中A的末端有足够的缓冲空容纳B.请编写一个方法,将B合并入A并排序. 给定两个有序int数组A和B,A中的缓冲空用0填充,同时给定A和B的真实大小int n和int m,请返回合并后的数组. Java (javac 1.7) 代码自动补全 1 import java.util.*; 2 3 public class Merge {

C语言二级指针的介绍和使用

锄禾日当午,学C真TM苦. 指针是C语言中功能最强大的部分,但是也是最难理解的部分. 本文主要介绍二级指针的使用,包括与数组和函数结合的使用,一级指针简单带过. 一.一级指针 一级指针的简单描述 ①一级指针是一种以存储其他变量地址为目的的变量.一个T类型的指针变量(一级指针)就是一个存储了某T类型值变量的内存地址的引用. ②对指针的解引用(也就是*),是获取指针指向的内存空间中存储的值. ③当指针解引用做左值的时候,可以改变指针指向内存空间中存储的值. ④指针指向哪个变量,就将该变量的内存地址赋