首页 [优质文档]c 二维数组(谜底)

[优质文档]c 二维数组(谜底)

举报
开通vip

[优质文档]c 二维数组(谜底)[优质文档]c 二维数组(谜底) c#程序设计基础必做习题集(5) 十三、二维数组 任务106: 编写程序定义一个二维数组arr,该数组一共有4行3列,如下表所示,请把下表中的所有对应数据利用赋值语句赋值到该二维数组arr中去: arr 第0列 第1列 第2列 第0行18 25 7 9 13 118 第1行 1119 4327 91 第2行 8 2576 673 第3行 编写程序依次把第2行第1列、第0行第2列、第3行第0列的元素值显示出来。 参考代码: using System; using...

[优质文档]c 二维数组(谜底)
[优质文档]c 二维数组(谜底) c#程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 基础必做习题集(5) 十三、二维数组 任务106: 编写程序定义一个二维数组arr,该数组一共有4行3列,如下 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 所示,请把下表中的所有对应数据利用赋值语句赋值到该二维数组arr中去: arr 第0列 第1列 第2列 第0行18 25 7 9 13 118 第1行 1119 4327 91 第2行 8 2576 673 第3行 编写程序依次把第2行第1列、第0行第2列、第3行第0列的元素值显示出来。 参考代码: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int[,] arr = new int[4, 3]; arr[0,0]=18; arr[0,1]=25; arr[0,2]=7; arr[1,0]=9; arr[1,1]=13; arr[1,2]=118; arr[2,0]=1119; arr[2,1]=4327; arr[2,2]=91; arr[3,0]=8; arr[3,1]=2576; arr[3,2]=673; Console.WriteLine("第2行第1列的元素是:{0}",arr[2, 1]); Console.WriteLine("第0行第2列的元素是:{0}", arr[0, 2]); Console.WriteLine("第3行第0列的元素是:{0}", arr[3, 0]); Console.ReadKey(); } } } 任务107: 编写程序定义一个二维数组arr,该数组一共有4行3列,如下表所示,请把下表中的所有对应数据利用赋值语句赋值到该二维数组arr中去: arr 第0列 第1列 第2列 第0行 180 2 71 91 139 114 第1行 119 437 86 第2行 9 276 73 第3行 按照以下要求编写程序: (1) 利用循环显示第0行的所有元素。 (2) 利用循环显示第1列的所有元素。 (3) 利用循环求第2行所有元素的和。 参考代码: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int[,] arr = new int[4, 3]; arr[0,0]=180; arr[0,1]=2; arr[0,2]=71; arr[1,0]=91; arr[1,1]=139; arr[1,2]=114; arr[2,0]=119; arr[2,1]=437; arr[2,2]=86; arr[3,0]=9; arr[3,1]=276; arr[3,2]=73; Console.Write("所有第0行的数据:"); for (int i = 0; i <= 2; i++) { Console.Write(arr[0,i]+" "); } Console.Write("\n所有第1列的数据:"); for (int i = 0; i <= 3; i++) { Console.Write(arr[i, 1] + " "); } Console.Write("所有第2行的数据:"); for (int i = 0; i <= 2; i++) { Console.Write(arr[2, i] + " "); } Console.ReadKey(); } } } 任务108: 编写程序定义一个二维数组arr,该数组一共有4行3列,如下表所示,请把下表中的所有 对应数据利用赋值语句赋值到该二维数组arr中去: arr 第0列 第1列 第2列 第0行 180 2 71 91 139 114 第1行 119 437 86 第2行 9 276 73 第3行 编写程序利用二重循环,把以上数组所有数组按照4行、3列的方式打印出来。 参考代码: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int[,] arr = new int[4, 3]; arr[0,0]=180; arr[0,1]=2; arr[0,2]=71; arr[1,0]=91; arr[1,1]=139; arr[1,2]=114; arr[2,0]=119; arr[2,1]=437; arr[2,2]=86; arr[3,0]=9; arr[3,1]=276; arr[3,2]=73; for (int i = 0; i <= 3;i++ ) { for (int j = 0; j <= 2; j++) { Console.Write(arr[i,j]+" "); } Console.Write("\n"); } Console.ReadKey(); } } } 任务109: 编写程序,定义一个4行,4列的二维数组,随机产生16个10到99之间的整数,放入其 中,并把这4行4列的数据显示出来;把该数组的对角线元素显示出来,所谓的对角线元素 如下图所示: 注意:从左上到右下的称为正对角线元素,从左下到右上的称为斜对角线元素。 参考代码: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int[,] arr = new int[4, 4]; Random rnd=new Random(); Console.WriteLine("二维数组的内容如下:"); for (int i = 0; i <= 3;i++ ) //产生随机数放入数组 { for (int j = 0; j <= 3; j++) { arr[i, j] = rnd.Next(10,100); Console.Write(arr[i,j]+" "); } Console.Write("\n"); } Console.Write("正对角线的元素有:"); for (int i = 0; i <= 3; i++) { Console.Write(arr[i,i]+" "); } Console.Write("\n斜对角线的元素有:"); for (int i = 0; i <= 3; i++) { Console.Write(arr[3-i, i] + " "); } Console.ReadKey(); } } } 任务110: 编写程序,定义一个4*4的二维数组,随机产生16个100到999之间的整数放入其中,并 把这4行4列的数据显示出来;编写程序,把该二维数组每行的和、每列的和求出来。 参考代码: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int[,] arr = new int[4, 4]; Random rnd=new Random(); Console.WriteLine("二维数组的内容是:"); for (int i = 0; i <= 3; i++) //产生并显示二维数组的内容 { for (int j = 0; j <= 3; j++) { arr[i, j] = rnd.Next(100,1000); Console.Write(arr[i,j]+" "); } Console.Write("\n"); } Console.Write("\n"); Console.WriteLine("每行的和如下:"); for (int i = 0; i <= 3;i++ ) //求每行的和 { int sum = 0; Console.Write("第{0}行的和=",i); for (int j = 0; j <= 3; j++) sum = sum + arr[i, j]; Console.WriteLine(sum); } Console.Write("\n"); Console.WriteLine("每列的和如下:"); for (int i = 0; i <= 3; i++) //求每列的和 { int sum = 0; Console.Write("第{0}列的和=",i); for (int j = 0; j <= 3; j++) sum = sum + arr[j, i]; Console.WriteLine(sum); } Console.ReadKey(); } } } 任务111: 编写程序,定义一个6*8的二维数组,随机产生48个10到99之间的整数,放入该二维数 组中。把该数组的内容按照6行8列的形式显示出来。再求出该数组中的最大值和最小值。 参考代码: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int[,] arr = new int[6, 8]; Random rnd=new Random(); for (int i = 0; i <= 5; i++) //随机产生并显示数组的所有数据内容 { for (int j = 0; j <= 7; j++) { arr[i,j]=rnd.Next(10,100); Console.Write(arr[i,j]+" "); } Console.Write("\n"); } int max=-100000; int min=+100000; for (int i = 0; i <= 5; i++) { for (int j = 0; j <= 7; j++) { if (arr[i, j] > max) //求最大 max = arr[i, j]; if (arr[i, j] < min) //求最小 min = arr[i, j]; } } Console.WriteLine("最大值={0}",max); Console.WriteLine("最小值={0}",min); Console.ReadKey(); } } } 任务112: 编写程序,定义一个5*5的二维数组,该数组中每个元素的值是行下标和列下标的平方和, 把这个二维数组的内容全部显示出来。 参考代码: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int[,] arr = new int[5, 5]; for(int i=0;i<=4;i++) //初始化数组内容 { for (int j = 0; j <= 4;j++ ) arr[i,j]=i*i+j*j; } for (int i = 0; i <= 4; i++) //显示数组内容 { for (int j = 0; j <= 4; j++) Console.Write(arr[i,j]+" "); Console.Write("\n"); } Console.ReadKey(); } } } 任务113: 编写程序,定义一个10*10的二维数组,随机产生100个10到99之间的整数放入其中,请 把该数组的内容全部显示出来。再编写程序,对这个二维数组的每行进行升序排序,把排序 后的二维数组的内容显示出来。 参考代码: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int[,] arr = new int[10, 10]; Random rnd = new Random(); Console.WriteLine("排序后的内容:"); for (int i = 0; i <= 9; i++) //产生并显示数组 { for (int j = 0; j <= 9; j++) { arr[i, j] = rnd.Next(10,99); Console.Write(arr[i, j] + " "); } Console.Write("\n"); } for (int p = 0; p <= 9; p++) //对每行进行排序 { for (int i = 0; i <= 8; i++) { for (int j = i + 1; j <= 9; j++) { if (arr[p, i] > arr[p, j]) { int temp = arr[p, i]; arr[p, i] = arr[p, j]; arr[p, j] = temp; } } } } Console.WriteLine("排序后的内容:"); for (int i = 0; i <= 9; i++) //显示排序数组 { for (int j = 0; j <= 9; j++) { Console.Write(arr[i, j] + " "); } Console.Write("\n"); } Console.ReadKey(); } } } 方法二: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int[,] arr = new int[10, 10]; Random rnd = new Random(); Console.WriteLine("排序前的内容:"); for (int i = 0; i <= 9; i++) //产生并显示数组 { for (int j = 0; j <= 9; j++) { arr[i, j] = rnd.Next(10,99); Console.Write(arr[i, j] + " "); } Console.Write("\n"); } for (int p = 0; p <= 9; p++) //对每行进行排序 { for (int i = 0; i < 9; i++) for (int j = 0; j < 9 - i;j++ ) { if (arr[p, j] > arr[p, j + 1]) { int t = arr[p, j]; arr[p, j] = arr[p, j + 1]; arr[p, j + 1] = t; } } } Console.WriteLine("排序后的内容"); for(int i=0;i<=9;i++) { for(int j=0;j<=9;j++) Console .Write (arr[i,j]+" "); .WriteLine (); Console } Console.ReadLine(); } } } 任务114: 编写程序把以下值通过赋值语句赋值给一个二维数组: 12 65 34 12 35 45 18 23 56 38 71 90 18 33 92 23 31 63 34 87 95 83 37 22 91 请求出该二维数组每行的最大值和每列的最小值。 参考代码: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int[,] arr = new int[5, 5] { {12 , 65 , 34 , 12 , 35}, {45 , 18 , 23 , 56 , 38}, {71 , 90 , 18 , 33 , 92}, {23 , 31 , 63 , 34 , 87}, {95 , 83 , 37 , 22 , 91} }; Console.WriteLine("数组内容如下:"); //显示数组内容 for (int i = 0; i <= 4; i++) { for (int j = 0; j <= 4; j++) Console.Write(arr[i,j]+" "); Console.Write("\n"); } Console.WriteLine("每行的最大值如下:"); for(int i=0;i<=4;i++) //求每行最大值 { int max=arr[i,0]; for (int j = 1; j <= 4; j++) { if (arr[i, j] > max) max = arr[i, j]; } Console.WriteLine("第{0}行的最大值={1}",i,max); } Console.WriteLine("每列的最小值如下:"); for (int i = 0; i <= 4; i++) //求每列的最小值 { int min = arr[0, i]; for (int j = 1; j <= 4; j++) { if (arr[j, i] < min) min = arr[i, j]; } Console.WriteLine("第{0}列的最小值={1}",i,min); } Console.ReadKey(); } } } 任务115: 利用二维数组打如下的图形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 思路:可以先考虑打印如下图形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 参考代码: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int[,] arr = new int[6, 6]; for (int i = 0; i <= 5;i++ ) //把第1列全部设为1 arr[i,0]=1; for(int i=0;i<=5;i++) //把对角线设为1 arr[i,i]=1; for (int i = 2; i <= 5;i++ ) //构造杨辉三角形 { for (int j = 1; j <= i - 1;j++ ) arr[i,j]=arr[i-1,j]+arr[i-1,j-1]; } int p = 30; for (int i = 0; i <= 5; i++) { //显示出来 for (int j = 0; j < p;j++) Console.Write(" "); p = p - 1; for (int j = 0; j <= i; j++) Console.Write(arr[i,j]+" "); Console.Write("\n"); } Console.ReadKey(); } } }
本文档为【[优质文档]c 二维数组&#40;谜底&#41;】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_348501
暂无简介~
格式:doc
大小:42KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-11-09
浏览量:5