数组

一、一位数组

数组初始化,创建数组,数组长度为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();

C#语言基础——数组的更多相关文章

  1. day05<Java语言基础--数组>

    Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java ...

  2. Java语言基础(数组)

    Java语言基础(数组概述和定义格式说明) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数 ...

  3. C语言基础--数组及相关

    概念: 一堆相同类型的数据的有序集合 格式: 元素类型  数组名称[ 元素个数 ] 定义数组: // 定义了一个名称叫做scores的数组, 数组中可以存放3个int类型的数据 ]; // 只要定义一 ...

  4. iOS开发环境C语言基础 数组 函数

    1 求数组元素的最大值 1.1 问题 创建程序,实现查询数组中最大值的功能,需求为:创建一个长度为10的数组,数组内放置10个0~99之间(包含0,包含99)的随机数作为数组内容,要求查询出数组中的最 ...

  5. [C语言基础] 数组与指针之间的引用

    通过指针引用数组,通过数组引用指针,你搞明白了么?通过下面3种情形来了解一下数组和指针 Case 1. unsigned char arry[10]; unsigned char *ptr; unsi ...

  6. C语言基础--数组

    数组 概念:在内存中连续存储的具有相同数据类型的一组数据的集合. 注意: 数组中的数据类型必须都是一致的 数组在内存中必须是连续的存储空间 定义数组时候的注意事项: 定义数组的时候,[]里面的值不能是 ...

  7. C语言基础:数组 分类: iOS学习 c语言基础 2015-06-10 21:40 7人阅读 评论(0) 收藏

    数组:是由一组具有相同数据类型的数据组合而来. 数组定义:元素类型修饰符 数组名[数组个数]={元素1,元素2....};  int arr[ 2 ]={1,2};    //正确 int arr[ ...

  8. R语言基础-数组和列表

    数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, dim),当中data必须 ...

  9. 【搬砖】安卓入门(4)- Java开发编程基础--数组

    05.01_Java语言基础(数组概述和定义格式说明)(了解) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. ...

随机推荐

  1. css background 背景图设置

  2. Windows下查看JDK是否安装以及安装路径

    查看JDK是否已经安装,可以在cmd窗口里输入java -version,如果没有提示出错,就表示已经安装. 查看JDK的安装路径,可以输入java -verbose,会返回很多信息,其中就包含了JD ...

  3. Android使用SAX解析XML(3)

    主界面MainActivity.java: package com.hzhi.my_sax; import java.util.ArrayList; import android.os.Bundle; ...

  4. Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    项目建设完成之后的结构: 数据库的表结构如下: 环境建设:搭建Maven环境.Tomcat环境.需要MySql 数据库支持,使用的编程工具Eclipse (这些是前期准备): 开始创建工程: 1.创建 ...

  5. MAC下配置WebDav

    WebDav完全可以当成一个网络共享的文件服务器使用! # 1. 修改了两个配置文件 # 2. 创建web访问用户的用户名和口令 # 3. 创建了两个目录,并且设置了管理权限 # 切换目录 $ cd ...

  6. Android提升篇系列:adb无法识别MX5等特殊机型

    发现自己Ubuntu系统adb无法识别魅族 mx5机型.操作具体如下(其他机型依然适用): 一.Ubuntu环境 1.查看自己当前设备的idVendor lsusb命令直接查看当前usb设别列表,找到 ...

  7. [小北De编程手记] : Lesson 01 玩转 xUnit.Net 之 概述

    谈到单元测试,任何一个开发或是测试人员都不会觉得陌生.我想大多数的同学也都是接触过各种单元测试框架.关于单元测试的重要性,应该不会有太多的质疑.这个系列,我向大家介绍一下xUnit.Net的使用.就让 ...

  8. rabbitmq qos prefetch count的设置与作用

    因为原来使用了MQ作为rpc机制,随着客户交易量越来越大,很多服务器推送行情的压力很大,最近打算重写为批量模式,又重新看了下qos和prefetch设置的作用以确定优化的具体细节. 消费者在开启ack ...

  9. SweetAlert – 替代 Alert 的漂亮的提示效果

    Sweet Alert 是一个替代传统的 JavaScript Alert 的漂亮提示效果.SweetAlert 自动居中对齐在页面中央,不管您使用的是台式电脑,手机或平板电脑看起来效果都很棒.另外提 ...

  10. Intense Images – 全屏浏览图像的 JS 插件

    Intense Images 是一个独立的 JavaScript 库,用于查看全屏图像.使用触摸/鼠标来实现图片位置的平移.图像元素的所有样式都是可以自定义的,Intense.js 只处理图像浏览器和 ...