C#语言——数组

数组

一、一位数组

数组初始化,创建数组,数组长度为5

int[] array = new int[5];

array[0] = 1;

array[1] = 2;

array[2] = 3;

array[3] = 4;

array[4] = 5;

将2号索引位置改成7

array[2] = 7;

查看3号索引位置是什么值

Console.WriteLine(array[3]);

把4号索引位置的值赋值给a

int a = array[4];

将1号索引位置的值变成控制台输入

array[1] = int.Parse(Console.ReadLine());

Console.ReadLine();

直接赋值的数组

int[] array1 = new int[] { 1, 2, 3, 4, 5 };

存放5个人的人名

string [] name=new string [5];

for (int i = 1; i <= 5; i++)

{

Console.Write("请输入第"+i+"个人的名字");

name[i - 1] = Console.ReadLine();

}

查看第三个人的名字

Console.WriteLine(name[2]);

将每个人的姓名都打印出来

for (int i = 0; i < 5; i++)

{

Console.WriteLine(name[i]);

}

Console.ReadLine();

例题:1、输入班级人数,输入每个人的分数,求平均分

Console.Write("请输入班级人数:");

int a = int.Parse(Console.ReadLine ());

double [] fen =new double [a];

for (int i = 0; i < a; i++)

{

Console.Write("请输入第"+(i+1)+"人的分数");

fen[i] = double.Parse(Console.ReadLine ());

}

double sum = 0;

for (int i = 0; i < a; i++)

{

sum += fen[i];

}

Console.WriteLine("平均分是:"+(sum/a));

Console.ReadLine();

2、从控制台输入班级人数,每个人的年龄放入数组,将所有的年龄求总和

Console.Write("输入班级人数:");

int a = int.Parse(Console.ReadLine());

int[] b = new int[a];

for (int i = 0; i < a; i++)

{

Console.Write("输入第" + (i + 1) + "个人的年龄");

b[i] = int.Parse(Console.ReadLine());

}

int sum = 0;

for (int i = 0; i < a; i++)

{

sum += b[i];

}

Console.WriteLine("年龄总和:" + sum);

Console.ReadLine();

二、二维数组

int [,] shuzu =new int [3,4];

3     表示3个一位数组

4    表示每一个一位数组中有4个元素

给第一个一位数组的2号索引赋值

shuzu[0, 2] = 3;

直接赋值

int[,] shuzu1 = new int[,] { {1,2,3,4 }, {2,3,4,5 }, {3,4,5,6 } };

例题:1、根据二维数组,打印一个“王”

string[,] wang = new string[7, 7]

{

{"  ","★","★","★","★","★",""},

{"  ","  ","  ","★","","",""},

{"  ","  ","  ","★","","",""},

{"  ","  ","★","★","★","",""},

{"  ","  ","  ","★","","",""},

{"  ","  ","  ","★","","",""},

{"★","★","★","★","★","★","★"},

};

//打印出王

for (int i = 0; i < 7; i++)

{

for (int j = 0; j < 7; j++)

{

Console.Write(wang[i,j]);

}

Console.WriteLine();

}

Console.ReadLine();

2、输入班级人数,存放每个人的语、数、英成绩进入数组,求每个人的总分,求班级语文总分,数学平均分

法一、

Console.Write("输入班级人数:");

int a = int.Parse(Console.ReadLine());

double[,] fen = new double[a, 3];

for (int i = 0; i < a; i++)

{

Console.Write("输入第" + (i + 1) + "个人的语文分数");

fen[i, 0] = double.Parse(Console.ReadLine());

Console.Write("输入第" + (i + 1) + "个人的数学分数");

fen[i, 1] = double.Parse(Console.ReadLine());

Console.Write("输入第" + (i + 1) + "个人的英语分数");

fen[i, 2] = double.Parse(Console.ReadLine());

}

double sum = 0, sum1 = 0, sum2 = 0;

for (int i = 0; i < a; i++)

{

sum = 0;

for (int j = 0; j < 3; j++)

{

sum += fen[i, j];

}

sum1 += fen[i, 0];

sum2 += fen[i, 1];

Console.WriteLine("第" + (i + 1) + "个人的分数总和是" + sum);

}

Console.WriteLine("语文总和是" + sum1);

Console.WriteLine("数学平均分是" + (sum2 / a));

Console.ReadLine();

法二、

Console.Write("输入班级人数:");

int a = int.Parse(Console.ReadLine());

double[,] fen = new double[a, 3];

for (int i = 0; i < a; i++)

{

Console.Write("输入第" + (i + 1) + "个人的语文分数");

fen[i, 0] = double.Parse(Console.ReadLine());

Console.Write("输入第" + (i + 1) + "个人的数学分数");

fen[i, 1] = double.Parse(Console.ReadLine());

Console.Write("输入第" + (i + 1) + "个人的英语分数");

fen[i, 2] = double.Parse(Console.ReadLine());

}

double[] zong = new double[a];

for (int i = 0; i < a; i++)

{

zong[i] = fen[i, 0] + fen[i, 1] + fen[i, 2];

Console.WriteLine("第{0}个人的总分是:{1}", (i + 1), zong[i]);

}

double yuzong = 0, shuzong = 0;

for (int i = 0; i < a; i++)

{

yuzong += fen[i, 0];

shuzong += fen[i, 1];

}

Console.WriteLine("语文总分是:" + yuzong);

Console.WriteLine("数学平均分是:" + (shuzong / a));

Console.ReadLine();

三、冒泡排序

例题:1、从控制台输入班级人数,每个人的年龄放入数组,冒泡排序,求年龄最大。

Console.Write("输入班级人数:");

int a = int.Parse(Console.ReadLine());

int[] b = new int[a];

for (int i = 0; i < a; i++)

{

Console.Write("输入第" + (i + 1) + "个人的年龄");

b[i] = int.Parse(Console.ReadLine());

}

冒泡排序:固定格式,记住,背过

for (int i = 0; i < a; i++)

{

for (int j = i; j < a - 1; j++)

{

if (b[i] < b[j + 1])//从大到小

{

int zhong = b[i];

b[i] = b[j + 1];

b[j + 1] = zhong;

}

}

}

for (int i = 0; i < a; i++)

{

Console.WriteLine(b[i]);

}

Console.ReadLine();

2、从1-100内随机选10个不同的数做一个数组,对10个数排序,从小到大

法一、

int[] ss = new int[10];

Random s = new Random();

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

{

ss[i] = s.Next(1, 100);

for (int j = 0; j < i; j++)

{

if (ss[i] == ss[j])

{

i--;

}

}

}

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

{

Console.WriteLine(ss[i]);

}

Console.WriteLine();

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

{

for (int j = i; j < 9; j++)

{

if (ss[i] > ss[j + 1])//从大到小

{

int zhong = ss[i];

ss[i] = ss[j + 1];

ss[j + 1] = zhong;

}

}

}

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

{

Console.WriteLine(ss[i]);

}

Console.ReadLine();

法二、

int[] ss = new int[10];

Random s = new Random();

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

{

bool b = true;

int a = s.Next(101);

for (int j = 0; j < i; j++)

{

if (a == ss[j])

{

b = false;

i--;

}

}

if (b)

{

ss[i] = a;

}

Console.WriteLine(ss[i]);

}

Console.WriteLine();

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

{

for (int j = i; j < 9; j++)

{

if (ss[i] > ss[j + 1])//从大到小

{

int zhong = ss[i];

ss[i] = ss[j + 1];

ss[j + 1] = zhong;

}

}

}

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

{

Console.WriteLine(ss[i]);

}

Console.ReadLine();

四、抽奖问题

输入每个人的中奖号码,进行滚动显示    //清屏  //随即一个索引   // 根据索引打印  //等待0.1秒

Console.Write("请输入参与人的总数:");

int a = int.Parse(Console.ReadLine ());

string []jiang=new string [a];

for (int i = 0; i < a; i++)

{

Console.Write("请输入第{0}个人的手机号码:",(i+1));

jiang[i] = Console.ReadLine();

}

Console.WriteLine("所有人的手机号码输入完毕。请按回车键!");

Console.ReadLine();

Random ran = new Random();

for (int i = 0; i < 30; i++)

{

Console.Clear();

int aa = ran.Next(a);

Console.WriteLine("中奖号码:"+jiang[aa]);

System.Threading.Thread.Sleep(100);//等待100毫秒

}

//作弊!!!!!!

//Console.Clear();

//Console.WriteLine("中奖号码:" + 14351571);

Console.ReadLine();

时间: 2024-10-19 17:07:10

C#语言——数组的相关文章

1.2 C语言---数组

1.2     C语言---数组 1.2.1    为什么引入数组? 数组就是数组成的一个组,数就是一个特定数据类型的变量,组就是说好多数放在了一起. 1.2.2    怎么定义数组? int a[4];     //定义了一个数组a,里面有4个int元素. 总结:数组中的所有元素必须是同一种数据类型,不可能在一个数组中存储两种数据类型的数. 1.2.3    怎么使用数组? 数组定义的时候作为整体进行定义.但是使用的时候不能作为整体来使用,使用时必须拆开使用数组中的 各个元素. 例如:int

Go语言数组的使用

Go 语言数组 Go 语言提供了数组类型的数据结构. 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 相对于去声明number0, number1, ..., and number99的变量,使用数组形式numbers[0], numbers[1] ..., numbers[99]更加方便且易于扩展. 数组元素可以通过索引(位置)来读取(或者修改),索引从0开始,第一个元素索引为 0,第二个索引为 1,以此类推. 声明数组

Go语言数组,切片

数组声明 Go 语言数组声明需要指定元素类型及元素个数,语法格式如下: var variable_name [SIZE] variable_type 以上为一维数组的定义方式.数组长度必须是整数且大于 0.例如以下定义了数组 balance 长度为 10 类型为 float32: var balance [10] float32 初始化数组 以下演示了数组初始化: var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0} 初始化数组中 {} 中的

C语言数组:C语言数组定义、二维数组、动态数组、字符串数组

1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include <stdlib.h> int main() { int a1=20, a2=345, a3=700, a4=22; int b1=56720, b2=9999, b3=20098, b4=2; int c1=233, c2=205, c3=1, c4=6666; int d1=34, d2=0, d3

车牌识别--模板库C语言数组的制作

在车牌识别中,字符模板匹配的模板库是很大的. 包括 10个阿拉伯数字以及26个英文字母还有几十个汉字,每个库都是一张小图片,加载起来也比较繁琐. 后面还有可能为提高识别增加额外的模板库. 之前的处理中,是把这些库的图片文件放到一个文件夹中,程序启动后,再一个一个读取,这样文件的数量就比较多. 原图片模板如下: 程序稳定后,我们就不要这些字符模板库了,可以用数组的形式代替,就是把这些文件数据保存一个c语言数组里面,直接编译到程序中,运行程序的时候直接使用,不用一个一个加载,再去匹配. 目前使用的m

C语言数组元素下标为何从0开始

很多同学可能在学习数组时会有这个疑问,下标为什么不从1开始呢?从1开始不是更符合大家的日常习惯吗?生活中我们通常说第1个,而不是第0个.的确,有些计算机语言如早期的Pascal语言,数组元素的下标是从1开始的.难道是C语言故意要与众不同?要弄清楚这个问题,得先看一下计算机底层是怎样处理数组元素的.我们先编写了一个小程序,然后在visual studio中对其进行了反汇编.源程序和反汇编后的部分代码如下: 源程序: int arr[5];  //一个全局数组 int main() { int i;

R类型4R 语言数组

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px ".PingFang SC"; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helv

GO语言学习(十四)Go 语言数组

Go 语言数组 Go 语言提供了数组类型的数据结构. 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 相对于去声明number0, number1, ..., and number99的变量,使用数组形式numbers[0], numbers[1] ..., numbers[99]更加方便且易于扩展. 数组元素可以通过索引(位置)来读取(或者修改),索引从0开始,第一个元素索引为 0,第二个索引为 1,以此类推. 声明数组

c语言 数组类型

数组类型重命名数组类型由元素类型和数组大小共同决定数组指针是一个指针,只想对应类型的数组指针数组是一个数组,其中每个元素都是指针数组指针遵循指针运算法则指针数组拥有c语言数组的各种特性 c通过typedef 为数组类型重命名格式为 typedef type(name)[size] 数组类型:typedef int(aint5)[5] typedef float(afloat10)[10] 数组定义:aint5 iarray; //定义了一个数组afloat10 farray; //定义了一个数组

C语言数组寻址

C语言数组 数组的定义 数组是用来存放数据类型相同且逻辑意义相同的数据 数组的大小 数组的大小不能是变量,必须是常量或者常量表达式,常量表达式由编译器编译时自动求值. 也可以不指定数组大小,但必须对数组进行初始化,编译器在编译时会根据初始化列表中元 素的个数计算数组大小,例如: int nAry[]={1,3,4}; 数组的初始化 在定义数组时可以使用初始化列表进行初始化,例如: int nAry[3]={0,3,3}; 但是只能在定义时使用这种方式赋值,在其他地方只能进行单个元素赋值. 如果数