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();
C#语言基础——数组的更多相关文章
- day05<Java语言基础--数组>
Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java ...
- Java语言基础(数组)
Java语言基础(数组概述和定义格式说明) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数 ...
- C语言基础--数组及相关
概念: 一堆相同类型的数据的有序集合 格式: 元素类型 数组名称[ 元素个数 ] 定义数组: // 定义了一个名称叫做scores的数组, 数组中可以存放3个int类型的数据 ]; // 只要定义一 ...
- iOS开发环境C语言基础 数组 函数
1 求数组元素的最大值 1.1 问题 创建程序,实现查询数组中最大值的功能,需求为:创建一个长度为10的数组,数组内放置10个0~99之间(包含0,包含99)的随机数作为数组内容,要求查询出数组中的最 ...
- [C语言基础] 数组与指针之间的引用
通过指针引用数组,通过数组引用指针,你搞明白了么?通过下面3种情形来了解一下数组和指针 Case 1. unsigned char arry[10]; unsigned char *ptr; unsi ...
- C语言基础--数组
数组 概念:在内存中连续存储的具有相同数据类型的一组数据的集合. 注意: 数组中的数据类型必须都是一致的 数组在内存中必须是连续的存储空间 定义数组时候的注意事项: 定义数组的时候,[]里面的值不能是 ...
- C语言基础:数组 分类: iOS学习 c语言基础 2015-06-10 21:40 7人阅读 评论(0) 收藏
数组:是由一组具有相同数据类型的数据组合而来. 数组定义:元素类型修饰符 数组名[数组个数]={元素1,元素2....}; int arr[ 2 ]={1,2}; //正确 int arr[ ...
- R语言基础-数组和列表
数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, dim),当中data必须 ...
- 【搬砖】安卓入门(4)- Java开发编程基础--数组
05.01_Java语言基础(数组概述和定义格式说明)(了解) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. ...
随机推荐
- MEF入门之不求甚解,但力求简单能讲明白(二)
在上一篇文章中,我们已经学到了很基本的MEF概念和使用方法. 但我们导出的是一个object类型的实例,只能用来tostring,没有引用部件类库,也不能用里面的成员方法. 本篇,我们逐渐往简单的文件 ...
- html初始化页面和a标签无下划线
body, div, p, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dd, dt, img, form { padding:0px; margin:0px; b ...
- Scalaz(1)- 基础篇:隐式转换解析策略-Implicit resolution
在正式进入scalaz讨论前我们需要理顺一些基础的scalaz结构组成概念和技巧.scalaz是由即兴多态(ad-hoc polymorphism)类型(typeclass)组成.scalaz typ ...
- EffectiveJava——请不要在代码中使用原生态类型
先看一个栗子,看看能不能找出来里面的错误: /** * 请不要在新代码中使用原生态类型 * @author weishiyao * */ public class Test { public stat ...
- MyEclipse10 中的两种FreeMarker插件的安装与配置
第一个插件是: freemarker-ide MyEclipce10.0中安装FreeMarker插件,这绝对是最简单的方法 ...
- 我最常用的几个Xcode快键键
⌘(command) ⏎(return) ⌥(option/alt) ⇧(shift) ⌃(control/ctrl) 快速打开文件 ⌘ + ⇧ + O(字母) 快速搜索文本 ⌘ + ⇧ + F 分栏 ...
- CentOS系统Kernel panic - not syncing: Attempted to kill init
结果启动虚拟机出现如下问题: Kernel panic - not syncing: Attempted to kill init 解决方法: 系统启动的时候,按下'e'键进入grub编辑界面 ...
- a标签的target属性
_blank 浏览器总在一个新打开.未命名的窗口中载入目标文档. _self 这个目标的值对所有没有指定目标的 <a> 标签是默认目标,它使得目标文档载入并显示在相同的框架或者窗口中作为源 ...
- requirejs:杏仁的优化(almond)
这里只是调侃一下,“杏仁”其实指的是almond,requirejs作者的另一个开源项目,它的定位是作为requirejs的一个替代品. 本文概要: 1. 使用场景 2. 打包例子:未使用almond ...
- 【移动适配】一个像素的border怎么实现
一个像素里复杂纷扰的世界 文 | 啃先生 Mar.3rd.2016 首发于微信公众号(啃先生) 上一篇发了<[移动适配]移动Web怎么做屏幕适配> 壹 | Fisrt 在CSS的世界里P ...