C#整理5——break与continue.及数组
一.break与continue.
这两个关键字一般放在循环的花括号里面使用。
break——结束整个循环。
continue——结束本次循环,进入下次循环。
break的案例:
using System;
using System.Collections.Generic;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int i = ;
for (; ; )
{
if (i > )
{
break;
}
Console.Write(i + "\t");
i++;
} }
}
}
continue的案例:
using System;
using System.Collections.Generic;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
for (int i = ; i <= ; i++)
{
if (i % == )
{
continue;
}
Console.Write(i + "\t");
} }
}
}
二.数组
定义:解决同一类大量数据在内存存储和运算的功能。
分类:一维数组、二维数组、多维数组。
特点:连续,同一类数据。
一、一维数组:豆角。
定义:指定类型,指定长度,指定名称。
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.用循环来控制数组的下标,可以对数组进行批量操作。
例如:
using System;
using System.Collections.Generic;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int[] a = new int[];
//数组的批量赋值
for (int i = ; i < ; i++)
{
a[i] = (i + ) * ;
}
//数组的批量取值。
for (int j = ; j < ; j++)
{
Console.WriteLine(a[j]); //0下标。
} }
}
}
案例一:做一个教练为6个球员打分的程序。
using System;
using System.Collections.Generic;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//定义一个保存球员成绩的数组
int[] a = new int[]; //输入
for (int i = ; i < a.Length; i++)
{
Console.Write("请输入第" + (i + ) + "个球员的成绩:");
a[i] = Convert.ToInt32(Console.ReadLine());
} //输出
for (int j = ; j < a.Length; j++)
{
Console.WriteLine("第" + (j + ) + "位球员的分数是" + a[j] + "分。");
} }
}
}
案例二:在案例一的基础上,显示球员总分和平均分。
using System;
using System.Collections.Generic;
using System.Text; namespace ConsoleApplication1
{
class Class2
{
static void Main(string[] args)
{
int[] a = new int[]; Console.WriteLine("********球员训练记录********"); //输入
for (int i = ; i < a.Length; i++)
{
Console.Write("请输入第"+(i+)+"个球员的成绩:");
a[i] = Convert.ToInt32(Console.ReadLine());
} //输出每个球员的分
for(int j=;j<a.Length;j++)
{
Console.WriteLine("第"+(j+)+"位球员的分数是"+a[j]+"分。");
}
//计算并显示总分和平均分。
int sum = ;
for(int i=;i<a.Length;i++)
{
sum = sum + a[i];
}
double avg = ; avg = 1.0 * sum / a.Length;
Console.WriteLine("总分是:" + sum + "。平均分是:" + avg + "。"); }
}
}
案例三:在案例二的基础上,显示最高分和最低分,以及相应球员的代号。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Class3
{
static void Main(string[] args)
{
int[] a = new int[];
//输入
for(int i=;i<a.Length;i++)
{
Console.Write("请输入第"+(i+)+"个球员的分数:");
a[i] = Convert.ToInt32(Console.ReadLine());
} //找最大和最小
int max = , min = ;
int maxSub = -, minSub = -;
for(int i=;i<a.Length;i++)
{
if(a[i]>max)
{
max = a[i];
maxSub = i;
} if (a[i] < min)
{
min = a[i];
minSub = i;
}
}
//输出
maxSub++;
minSub++;
Console.WriteLine(maxSub+"号球员分数最高,分数是:"+max+";"+minSub+"号球员分数最低,分数是:"+min);
}
}
}
案例四:青歌赛中有10个评委给一个选手打分,每打分后,要去掉一个最高分和一个最低分,计算该选手的平均得分。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int[] a = new int[];
for (int t = ; t < ; t++)
{
Console.Write("请为选手打分:");
a[t] = Convert.ToInt32(Console.ReadLine());
for (int i = ; i <= a.Length - ; i++)
{
for (int j = ; j <= a.Length - i; j++)
{
if (a[j - ] < a[j])
{
int mm = a[j];
a[j] = a[j - ];
a[j - ] = mm; }
}
}
}
int sum = ;
for (int p = ; p < a.Length - ; p++)
{ sum = sum + a[p];
}
Console.Write("选手得分是" + 1.0 * sum / );
}
}
}
案例五:做一个36选7的彩票生成器。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Class4
{
static void Main(string[] args)
{
int[] a = new int[]; Random rand = new Random();
for (int i = ; i < ; i++) //7--代表要生成7个不同的数
{
//生成一个随机数。
int n = rand.Next();
n++; //查重
bool chong = false;
for(int j=;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 = ;k<a.Length;k++)
{
Console.Write(a[k] + "\t");
}
}//main
}
}
案例六 20个手机号 滚动显示,随机抽取一个中奖号码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string[] cellPhone = new string[] { "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"" }; Random rand = new Random();
for(int i=;i<;i++)
{
//变慢一些。
System.Threading.Thread.Sleep();
//随机生成数组的下标。
int sub = rand.Next(cellPhone.Length);
//根据下标取数组的元素值。
string s = cellPhone[sub];
//显示
Console.Clear();
Console.WriteLine(s);
}
}
}
}
案例7 选班长 30个同学投票,从5个候选人中选出一个班长
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
//30人投票,从5个候选人选一个出来。
int[] vote = new int[];
for(int i=;i<;i++)
{
Console.Write("请第"+(i+)+"位同学投票(0-4):");
int temp = Convert.ToInt32(Console.ReadLine());
if(temp < || temp >)
{
Console.WriteLine("废票");
continue;
}
else
{
vote[temp]++;
}
} //计算最终得票。
int max = , maxSub = ;
for(int i=;i<vote.Length;i++)
{
//把每位候选人的票数显示出来。
Console.WriteLine("第" + (i + ) + "号候选人的票数是:" + vote[i]);
//计算最大值。
if(vote[i] > max)
{
max = vote[i];
maxSub = i;
}
} //显示最终结果。
Console.WriteLine("最终投票结果为:"+(maxSub+)+"号候选人当选,当选票数是"+max+"票。");
}
}
}
C#整理5——break与continue.及数组的更多相关文章
- break、continue与数组
一. 1.break与continue.这两个关键字一般放在循环的花括号里面使用.break——结束整个循环.continue——结束本次循环,进入下次循环. break的案例: int i = ...
- 初识Javascript.03 -- switch、自增、while循环、for、break、continue、数组、遍历数组、合并数组concat
除了注意大小写,别的木啥了 Switch语句 Switch(变量){ case 1: 如果变量和1的值相同,执行该处代码 break; case 2: 如果变量和2的值相同,执行该处代码 break; ...
- Java Break 与 Continue
章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符 ...
- javascript . 02 break和continue、while、数组、冒泡排序
1.1 知识点 NaN是number类型 null是object类型 /** + 回车 多行注释 table 会为内部的tr td 自动补齐闭合标签 1.2 循环结构 1.2.1 Break和c ...
- javascript 中break、 continue、函数不能重载
在javascript中,break与continue有着显著的差别. 如果遇到break语句,会终止最内层循环,无论后面还有多少计算. 如果遇到continue,只会终止此次循环,后面的自循环依然执 ...
- JavaScript If...Else、Switch、For、While、Break、Continue语句
一,JavaScript If...Else 语句 条件语句 通常在写代码时,您总是需要为不同的决定来执行不同的动作.您可以在代码中使用条件语句来完成该任务. 在 JavaScript 中,我们可使用 ...
- Javascript基础系列之(六)循环语句(break和continue语句)
break和continue语句对循环中的代码执行提供了更为严格的流程控制.break语句可以立刻退出循环,阻止再次执行循环体中的任何代码.continue语句只是退出当前这一循环,根据控制表达式还允 ...
- 浅谈break 、continue、return,goto四种语句的区别。
浅谈break .continue.return三种语句的区别: break,continue,return这三个具有跳转功能的语句在c语言中经常被用到,近期身边有些小伙伴总是把它们的用法搞乱,在这里 ...
- break与continue
1.break与continue.这两个关键字一般放在循环的花括号里面使用.break——结束整个循环.continue——结束本次循环,进入下次循环. break的案例: int i = 1; fo ...
随机推荐
- 如何煉成NET架構師
微软的DotNet 开发绝对是属于那种入门容易提高难的技术.而要能够成为DotNet 架构师没有三年或更长时间的编码积累基本上是不可能的.特别是在大型软件项目中,架构师是项目核心成员,承上启下,因此 ...
- DICOM:C-GET与C-MOVE对照剖析
背景: 之前专栏中介绍最多的两款PACS各自是基于dcmtk的dcmqrscp以及Orthanc.和基于fo-dicom的DicomService(自己开发的).该类应用场景都是针对于局域网,因此在使 ...
- 【Android开发经验】LayoutInflater—— 你可能对它并不了解甚至错误使用
今天,看到了一篇文章讲LayoutInflater的使用方法.瞬间感觉自己对这个类确实不够了解,于是简单的看了下LayoutInflater类的源码.对这个类有了新的认识. 首先.LayoutInfl ...
- VS2012+SQL2008+ODBC编程,第一篇博客,写的不好忘各位大神指点一二~
近期写一个数据库的课程设计,用的是C++ MFC .最開始用的是ADO技术,可是苦于网上大部分的教程都是VC6.0的,对着教程敲了4,5遍还是执行不成功.我用的IDE是VS2012,毕竟VC6.0和V ...
- 易语言转C#小试牛刀
呵呵,用了几年的易语言,太郁闷了,玩过E的童鞋们懂得,偶然机会尝试C#,现正式投入C#门下. 我会把我学习C#的一些知识和重点,实时发不到我的BLOG中,同想学习C#的童鞋一起成长起来.
- js 去掉空格
写成类的方法格式如下:(str.trim();)<script language="javascript"> String.prototype.trim=functio ...
- 学习笔记 css3--选择器&新增颜色模式&文本相关
Css3 选择器 --属性选择器 E[attr]只使用属性名,但没有确定任何属性值,E[attr="value"]指定属性名,并指定了该属性的属性值E[attr~="va ...
- HttpWebRequest在GetResponse时总是超时
最近在通过RESTFUL接口来发布些数据,总是出现请求超时,好不容易找到个靠谱点的了,记下来,回去试下!! “ 问题就是我第一个HttpWebRequest在GetResponse之后,忘记将取得的W ...
- Android Studio导入GitHub
方法一:引用开源项目的compile添加到gradle中http://www.zhihu.com/question/27027667 方法二:下载安装包引入:http://blog.csdn.net/ ...
- alsa音频驱动科普第一课
做linux音频编程对alsa应该不陌生. 但是对于刚接触这块技术的同学来说是一件困难的事情.原因在于:网上关于alsa的资料太少了,特别国内的资料更是大部分重复.对于初学者来说特别苦恼. 由于笔者经 ...