C# 一维数组(1)

一、复习:

1.break与continue.
这两个关键字一般放在循环的花括号里面使用。
break——结束整个循环。
continue——结束本次循环,进入下次循环。

break的案例:
int i = 1;
for(;;)
{
if(i>100)
{
break;
}
Console.Write(i+"\t");
i++;
}

continue的案例:
for (int i = 1; i <= 100; i++)
{
if(i%2 == 0)
{
continue;
}
Console.Write(i + "\t");
}
2.while循环
//初始条件
while(循环条件)
{
//循环体
//状态的改为
}
案例:
int i = 1;
int count=0; //记录与7有关的数字的个数
while(i<=100)
{
if(i%7==0 || i%10==7||i/10==7)
{
Console.Write(i+"\t");
count++;
//1
}
i++;
//2
}
//3
Console.Write("共有"+count+"个与7相关的数");

3.do...while(循环条件)简单了解。
即使初始条件不满足循环条件,循环还会执行一次。
至少执行一次。

数组:解决同一类大量数据在内存存储和运算的功能。
分类:一维数组、二维数组、多维数组。
特点:连续,同一类数据。

一、一维数组:豆角。
定义:指定类型,指定长度,指定名称。
int[] a = new int[5]; //5是长度。从1开始算。默认5个元素初始值都是0.
int[] a = new int[5] { 90, 95, 89, 76, 99 };
int[] a = new int[5] { 90, 95, 89 }; //语法有错,后面初始化的值必须是5个。
int[] a = new int[] { 90, 95, 89, 76, 99}; //计算机会根据后面的赋值,动态计算数组的长度。

赋值:
数组名[下标数值] = 值;
int[] a = new int[5]; 
a[0] = 10;
a[1] = 20;
a[2] = 30;
a[3] = 40;
a[4] = 50;

取值:
数组名[下标数值]; //下标数值从0开始。
Console.WriteLine(a[3]+a[0]);

数组的好处:
1.对于大量数据来说,保存的时候,定义一个数组即可解决。
2.用循环来控制数组的下标,可以对数组进行批量操作。
例如:
int[] a = new int[5];
//数组的批量赋值
for (int i = 0; i < 5;i++ )
{
a[i] = (i + 1) * 10;
}
//数组的批量取值。
for (int j = 0; j < 5;j++ )

Console.WriteLine(a[j]); //0下标。
}

案例一:做一个教练为6个球员打分的程序。
//定义一个保存球员成绩的数组
int[] a = new int[6];

//输入
for (int i = 0; i < a.Length; i++)
{
Console.Write("请输入第"+(i+1)+"个球员的成绩:");
a[i] = Convert.ToInt32(Console.ReadLine());
}

//输出
for(int j=0;j<a.Length;j++)
{
Console.WriteLine("第"+(j+1)+"位球员的分数是"+a[j]+"分。");
}
案例二:在案例一的基础上,显示球员总分和平均分。

案例三:在案例二的基础上,显示最高分和最低分,以及相应球员的代号。

案例四:青歌赛中有10个评委给一个选手打分,每打分后,要去掉一个最高分和一个最低分,计算该选手的平均得分。

:案例五:做一个36选7的彩票生成器。

int[] a = new int[7];

Random rand = new Random();
for (int i = 0; i < 7; i++) //7--代表要生成7个不同的数
{
//生成一个随机数。
int n = rand.Next(36);
n++;

//查重
bool chong = false;
for(int j=0;j<a.Length;j++)
{
if(n == a[j])
{
chong = true;
break;
}
}
//才能确定n合不合理
if(chong == false)
{
a[i] = n;
}
else
{
i--;
}//if
}//for

//显示彩票号码
for(int k = 0;k<a.Length;k++)
{
Console.Write(a[k] + "\t");
}

作业一,20个手机号滚动显示,随机抽取一个中奖号码。

string[] cellPhone = new string[] { "13012345678", "13109876543", "13287654678", 
"13309876789", "13509878902", "13698374651", "13757893421", "13876561234", 
"13909876543", "15034567438", "15111234795", "15894574839", "18210394857", 
"18302938475" };

Random rand = new Random();
for(int i=0;i<50;i++)
{
//变慢一些。
System.Threading.Thread.Sleep(100);
//随机生成数组的下标。
int sub = rand.Next(cellPhone.Length);
//根据下标取数组的元素值。
string s = cellPhone[sub];
//显示
Console.Clear();
Console.WriteLine(s);
}

二,30个同学投票,从5个候选人中选一名班长出来。

int[] vote = new int[5];
for(int i=0;i<30;i++)
{
Console.Write("请第"+(i+1)+"位同学投票(0-4):");
int temp = Convert.ToInt32(Console.ReadLine());
if(temp <0 || temp >4)
{
Console.WriteLine("废票");
continue;
}
else
{
vote[temp]++;
}
}

//计算最终得票。
int max = 0, maxSub = 0;
for(int i=0;i<vote.Length;i++)
{
//把每位候选人的票数显示出来。
Console.WriteLine("第" + (i + 1) + "号候选人的票数是:" + vote[i]); 
//计算最大值。
if(vote[i] > max)
{
max = vote[i];
maxSub = i;
}
}

//显示最终结果。
Console.WriteLi

时间: 2024-12-18 23:58:53

C# 一维数组(1)的相关文章

JAVA一维数组

import java.applet.Applet; import java.awt.*; //用*表示包含awt这个源包下的所有方法成员,awt为图形界面设计包 public class Applet_Example extends Applet{ int a[]; //定义一个一维数组 public void init(){ a=new int[5]; //定义一个一维数组,该数组包含5个元素 a[0]=100; //分别对数组元素赋值 a[1]=101; a[2]=102; a[3]=10

一维数组的三种写法

/** *一维 数组的几种写法 * 记住:①数组的左边不能有数字 *   ②数组的右边既然初始化了数组,那么就要赋值 */ //一维数组的标准格式 String[] arr1 = new String[]{"bo","li","jian"}; //上面的简写格式 String[] arr2 = {"bo","li","jian"}; //初始化容量 String[] arr3 = new

输出 一维数组中最大的数+数组遍历

1 //将数组中最大的数输出 2 //数组遍历 3 int[] arr = new int[]{2,4,1,6,10,11}; 4 System.out.println("输出一维数组 :"); 5 for(int i=0; i<arr.length;i++) 6 { 7 System.out.print(arr[i]+" "); 8 } 9 10 System.out.println(); 11 12 int max = arr[0]; 13 for(int

算法练习:一维数组旋转

题目描述:求一个一维数组向右旋转K个位置后的结果.比如,一维数组{1, 2, 3, 4, 5},当k = 2时,求得的结果为{4, 5, 1, 2, 3}.要求常数级空间复杂度,允许修改原有数组. 一.使用额外的空间(在不要求常数级空间复杂度的情况下) 这样很简单,使用一个额外的空间,保存原有数组的元素,然后可以错位复制原有数组 元素,即可达到题目的要求.比如数组{1, 2, 3, 4, 5},当k = 2时,先将4,5复制到结果数组,然后将1,2,3复制到结果数组的后面部分. //使用额外空间

07-JAVA一维数组及多维数组(2)

1. Java数组的定义: 1) 和其它编程语言的数组定义基本相同,具有2要素,分别是类型一致(数组中的数据都是一种类型的)和定长(初始化时就已经确定长度,这也意味着数组的内存空间也确定了,即大小不变了): 2) 在Java中数组类型也是一种引用类型,底层是用面向对象的类实现的: 3) 定义数组:支持两种格式 i. Java格式:type[] arrayName; ii. 传统的C语言格式:type arrayName[];  // 为了满足C程序员的编程习惯 !!更加推荐Java风格的,因为其

07-JAVA一维数组

一维数组的声明 使用一个数据时,必须要对其进行声明,这个道理对于数组来说也一样,数组在使用之前也必须先声明.先看下面的代码,是如何声明一个变量的. int a; 仔细分析一下:int 是指变量的数据类型,a 是指变量名,由变量的声明可以联系到数组的声明. int a[]; 仔细分析一下:int 是指数组中所有数据的数据类型,也可以说是这个数组的数据类型,a[]表示数组名. 基本类型数组的声明有几种形式: int a[]; int[] a; 这两种形式没有区别,使用效果完全一样,读者可根据自己的编

php多维数组化一维数组

一.使用foreach <?php function arr_foreach ($arr) { static $tmp=array(); if (!is_array ($arr)) { return false; } foreach ($arr as $val ) { if (is_array ($val)) { arr_foreach ($val); } else { $tmp[]=$val; } } return $tmp; } $a = array(1,2=>array(3,4=>

C#一维数组(2)

数组是一种常用的数据类型,且属于引用类型.它是由一组相同数据类型的元素构成的.在C#语言的类型系统中,数组由抽象类System.Array派生而来的.在内存中,数组占用一块连续的内存,元素按顺序连续存放在一起,数组中每一个单独的元素并没有自己的名字,但是可以通过其位置(索引)来进行访问或修改. 在C#中,数组元素的索引是从0开始的,即对于有N个元素的数组,其索引范围是从0~N-1. 在这里重点讨论一下一位数组的使用方法. 1.一维数组的声明 数组声明时,主要声明数组的名称和所包含的元素类型,一般

poj 3624 (01背包一维数组)

①这种问题要看清楚变量范围 数组范围很容易开错!!! ②这个下限是w[i]!!!很重要 或者加一句判断  if(j-w[i]>=0)  1 for(int i=1;i<=t;i++) 2 { 3 for(int j=n;j>=w[i];j--)//下限!!! 4 dp[j]=max( dp[j] , dp[j-w[i]]+v[i] ); 5 } AC代码,一维数组可以压缩空间. 1 #include <cstdio> 2 #include <cstring> 3