数组的定义及应用
2016-04-19 22:55
197 查看
数组:
什么是数组?
内存中连续存储同一类数据的一块空间。
类似于:豆角(一维)。
分类:一维,二维,多维。
一维数组:
定义:
数据类型[] 数组名 = new 数据类型[数组长度];
int[] a = new int[10];
string[] b = new string[20];
数组元素的引用:
数组名[下标] 下标是从0开始算的。
a[0] = 10;
a[1] = 20;
a[2] = 30;
Console.Write(a[2]);
i - 下标
a[i] - i下标这个空间中的值。
a - 整个数组
题目:
1.星光大道投票
2.教练给球员打分:显示每分球员的得分,显示最高分及球员号,最低分及球员号,显示平均得分。
3.青歌赛打分:20位评委给一个选中手分,去掉一个最高分,去掉一个最低分求歌手的平均得分。
4.成绩管理:老师输入20个学生的语文成绩,统计显示多少个及格,多少个优秀,多少个不及格,求出平均分。不及格的要显示学号及成绩。
5.一个球,从10米高处落下,每次弹起80%的高度,问第五次触地后弹出的高度是多高?(3.2768米)
6.司机看到里程表的数字是12321问下一次对称数字出现的是什么数字?(12421)
7.存款利率是千分之三(年利率),每月会把利息加到本金上计算,存10000元,第24个月存款会是多少?(10600)
什么是数组?
内存中连续存储同一类数据的一块空间。
类似于:豆角(一维)。
分类:一维,二维,多维。
一维数组:
定义:
数据类型[] 数组名 = new 数据类型[数组长度];
int[] a = new int[10];
string[] b = new string[20];
public static void Main(string[] args) { int[] a = new int[10]; for (int i = 0; i < a.Length; i++) { a[i] = (i + 1) * 10; } Console.WriteLine("下面是数组中的值"); for (int i = 0; i < a.Length; i++) { Console.WriteLine(a[i]); } }
数组元素的引用:
数组名[下标] 下标是从0开始算的。
a[0] = 10;
a[1] = 20;
a[2] = 30;
Console.Write(a[2]);
i - 下标
a[i] - i下标这个空间中的值。
a - 整个数组
题目:
1.星光大道投票
static void Main(string[] args) { //数组 //星光大道投票:20个评委给5个选手投票,输出票数 int[] xs=new int[5]; //20人投票 for (int i = 0; i <20; i++) { Console.Write("您投几号?(1-5)"); int hao=Convert.ToInt32(Console.ReadLine()); xs[hao - 1]++; } //显示 for (int i = 0; i < 5; i++) { Console.WriteLine("第{0}号选手,得票数是:{1}",i+1,xs[i]); } }
2.教练给球员打分:显示每分球员的得分,显示最高分及球员号,最低分及球员号,显示平均得分。
static void Main6666(string[] args) { //教练给10个球员打分 int[] qy=new int[10]; //打分 for (int i = 0; i < 10; i++) { Console.Write("请给第{0}号球员打分:",i+1); qy[i] = Convert.ToInt32(Console.ReadLine()); } //显示 for (int i = 0; i < 10; i++) { Console.WriteLine("第{0}号球员的得分是:{1}",i+1,qy[i]); } //输出最高分和最低分 int max = 0,min=1000; int max_no = 0, min_no = 0; for (int i = 0; i < 10; i++) { if (qy[i]>max) { max = qy[i]; max_no = i; } if (qy[i]<min) { min = qy[i]; min_no = i; } } Console.WriteLine("最高分是:{0}({1}号球员),最低分是:{2}({3}号球员)",max,max_no+1,min,min_no+1); //求平均分 int sum = 0; double average = 0; for (int i = 0; i < 10; i++) { sum = sum + qy[i]; } average = 1.0*sum / 10; Console.WriteLine("本队球员的平均得分是:{0}",average); }
3.青歌赛打分:20位评委给一个选中手分,去掉一个最高分,去掉一个最低分求歌手的平均得分。
static void Main(string[] args) { //青歌赛打分:20位评委给一个选手打分,去掉一个最高分,去掉一个最低分求歌手的平均得分。 int[] fenshu=new int[20]; //打分 for (int i = 0; i < 20; i++) { Console.WriteLine("请给选手打分:"); fenshu[i] = Convert.ToInt32(Console.ReadLine()); } int sum = 0; int max = 0; int min = 1000; double avg; for (int i = 0; i < 20; i++) { if (fenshu[i]>max) { max = fenshu[i]; } if (fenshu[i]<min) { min = fenshu[i]; } } for (int i = 0; i < 20; i++) { sum += fenshu[i]; } avg = 1.0*(sum - max - min) / 18; Console.WriteLine("去掉一个最高分{0},去掉一个最低分{1},选手的平均得分是{2}",max,min,avg); }
4.成绩管理:老师输入20个学生的语文成绩,统计显示多少个及格,多少个优秀,多少个不及格,求出平均分。不及格的要显示学号及成绩。
static void Main(string[] args) { //成绩管理:老师输入20个学生的语文成绩,统计显示多少个及格,多少个优秀,多少个不及格,求出平均分。不及格的要显示学号及成绩。 int[]fenshu=new int[20]; for (int i = 0; i <20; i++) { Console.WriteLine("第{0}个学生的成绩是:",i+1); fenshu[i] = Convert.ToInt32(Console.ReadLine()); } int jige = 0; int youxiu = 0; int bujige = 0; int sum = 0; double avg=0; for (int i = 0; i < 20; i++) { if (fenshu[i] < 60) { bujige++; Console.WriteLine("不及格的学生的学号是:{0},成绩是{1}", i + 1, fenshu[i]); } } Console.WriteLine("不及格的人数:"+bujige); for (int i = 0; i < 20; i++) { if (fenshu[i] >= 90) { youxiu++; } } Console.WriteLine("优秀的人数:"+youxiu); for (int i = 0; i < 20; i++) { if (fenshu[i] >= 60) { jige++; } } Console.WriteLine("及格的人数:"+jige); for (int i = 0; i < 20; i++) { sum+=fenshu[i]; avg = 1.0*sum / 20; } Console.WriteLine("平均分是:"+avg); }
5.一个球,从10米高处落下,每次弹起80%的高度,问第五次触地后弹出的高度是多高?(3.2768米)
static void Main(string[] args) {//一个球,从10米高处落下,每次弹起80%的高度,问第五次触地后弹出的高度是多高? double gaodu = 10; for (int i = 1; i <=5; i++) { gaodu *= 0.8; } Console.WriteLine("第五次触地后弹出的高度是:"+gaodu); }
6.司机看到里程表的数字是12321问下一次对称数字出现的是什么数字?(12421)
static void Main(string[] args) { //司机看到里程表的数字是12321问下一次对称数字出现的是什么数字? int shu = 12322; int gw = 0,sw=0,bw=0,qw=0,ww=0; while (shu>12321) { gw = shu % 10; //取出个位上的数 sw = shu / 10 % 10; //取出十位上的数 bw = shu / 100 % 10; //取出百位上的数 qw = shu / 1000 % 10; //取出千位上的数 ww = shu / 10000; //取出万位上的数 if (gw==ww&&sw==qw) { Console.WriteLine("下一个对称数是:"+shu); break; } shu++; } }
7.存款利率是千分之三(年利率),每月会把利息加到本金上计算,存10000元,第24个月存款会是多少?(10600)
static void Main(string[] args) { //存款利率是千分之三(年利率),每月会把利息加到本金上计算,存10000元,第24个月存款会是多少? double bj = 10000; double lx = 0; for (int i = 1; i <=24; i++) { lx = 10000 * 0.03/12; bj = bj + lx; Console.WriteLine("第{0}个月的存款是:{1}",i,bj); } Console.WriteLine("第24个月的存款会是"+bj); }
相关文章推荐
- CDN(内容分发网络)技术原理
- Java中使用native2ascii工具处理.properties文件
- LinCode_102_带环链表
- 五步学会XMLHttpRequest
- Vagrant with VirtualBox on Windows10: “Rsync” could not be found on your PATH
- 关于Android bound Service 攻击和防御
- java命令行路径
- 汇编-字符串的复制
- C#调试小技巧
- Java对象的序列化和反序列化
- 欢迎使用CSDN-markdown编辑器
- IDEA 自动生成 serialVersionUID
- java 算法
- LINQ之路 6:延迟执行(Deferred Execution)
- Android清除本地数据缓存代码
- shell env
- 2016.4.19记录
- Activity_onSaveInstanceState
- 构造函数初始值列表
- SAR成像学习(一)信号到原始数据&原始数据到图像