最新C#二维数组答案.docx

上传人:b****1 文档编号:14625504 上传时间:2023-06-25 格式:DOCX 页数:22 大小:22.38KB
下载 相关 举报
最新C#二维数组答案.docx_第1页
第1页 / 共22页
最新C#二维数组答案.docx_第2页
第2页 / 共22页
最新C#二维数组答案.docx_第3页
第3页 / 共22页
最新C#二维数组答案.docx_第4页
第4页 / 共22页
最新C#二维数组答案.docx_第5页
第5页 / 共22页
最新C#二维数组答案.docx_第6页
第6页 / 共22页
最新C#二维数组答案.docx_第7页
第7页 / 共22页
最新C#二维数组答案.docx_第8页
第8页 / 共22页
最新C#二维数组答案.docx_第9页
第9页 / 共22页
最新C#二维数组答案.docx_第10页
第10页 / 共22页
最新C#二维数组答案.docx_第11页
第11页 / 共22页
最新C#二维数组答案.docx_第12页
第12页 / 共22页
最新C#二维数组答案.docx_第13页
第13页 / 共22页
最新C#二维数组答案.docx_第14页
第14页 / 共22页
最新C#二维数组答案.docx_第15页
第15页 / 共22页
最新C#二维数组答案.docx_第16页
第16页 / 共22页
最新C#二维数组答案.docx_第17页
第17页 / 共22页
最新C#二维数组答案.docx_第18页
第18页 / 共22页
最新C#二维数组答案.docx_第19页
第19页 / 共22页
最新C#二维数组答案.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

最新C#二维数组答案.docx

《最新C#二维数组答案.docx》由会员分享,可在线阅读,更多相关《最新C#二维数组答案.docx(22页珍藏版)》请在冰点文库上搜索。

最新C#二维数组答案.docx

最新C#二维数组答案

 

C#二维数组(答案)

c#程序设计基础必做习题集(5)

十三、二维数组

任务106:

编写程序定义一个二维数组arr,该数组一共有4行3列,如下表所示,请把下表中的所有对应数据利用赋值语句赋值到该二维数组arr中去:

arr第0列第1列第2列

18

25

7

9

13

118

1119

4327

91

8

2576

673

第0行

第1行

第2行

第3行

编写程序依次把第2行第1列、第0行第2列、第3行第0列的元素值显示出来。

参考代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceConsoleApplication2

{

classProgram

{

staticvoidMain(string[]args)

{

int[,]arr=newint[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列

180

2

71

91

139

114

119

437

86

9

276

73

第0行

第1行

第2行

第3行

按照以下要求编写程序:

(1)利用循环显示第0行的所有元素。

(2)利用循环显示第1列的所有元素。

(3)利用循环求第2行所有元素的和。

参考代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceConsoleApplication2

{

classProgram

{

staticvoidMain(string[]args)

{

int[,]arr=newint[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(inti=0;i<=2;i++)

{

Console.Write(arr[0,i]+"");

}

Console.Write("\n所有第1列的数据:

");

for(inti=0;i<=3;i++)

{

Console.Write(arr[i,1]+"");

}

Console.Write("所有第2行的数据:

");

for(inti=0;i<=2;i++)

{

Console.Write(arr[2,i]+"");

}

Console.ReadKey();

}

}

}

任务108:

编写程序定义一个二维数组arr,该数组一共有4行3列,如下表所示,请把下表中的所有对应数据利用赋值语句赋值到该二维数组arr中去:

arr第0列第1列第2列

180

2

71

91

139

114

119

437

86

9

276

73

第0行

第1行

第2行

第3行

编写程序利用二重循环,把以上数组所有数组按照4行、3列的方式打印出来。

参考代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceConsoleApplication2

{

classProgram

{

staticvoidMain(string[]args)

{

int[,]arr=newint[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(inti=0;i<=3;i++)

{

for(intj=0;j<=2;j++)

{

Console.Write(arr[i,j]+"");

}

Console.Write("\n");

}

Console.ReadKey();

}

}

}

任务109:

编写程序,定义一个4行,4列的二维数组,随机产生16个10到99之间的整数,放入其中,并把这4行4列的数据显示出来;把该数组的对角线元素显示出来,所谓的对角线元素如下图所示:

注意:

从左上到右下的称为正对角线元素,从左下到右上的称为斜对角线元素。

参考代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceConsoleApplication2

{

classProgram

{

staticvoidMain(string[]args)

{

int[,]arr=newint[4,4];

Randomrnd=newRandom();

Console.WriteLine("二维数组的内容如下:

");

for(inti=0;i<=3;i++)//产生随机数放入数组

{

for(intj=0;j<=3;j++)

{

arr[i,j]=rnd.Next(10,100);

Console.Write(arr[i,j]+"");

}

Console.Write("\n");

}

Console.Write("正对角线的元素有:

");

for(inti=0;i<=3;i++)

{

Console.Write(arr[i,i]+"");

}

Console.Write("\n斜对角线的元素有:

");

for(inti=0;i<=3;i++)

{

Console.Write(arr[3-i,i]+"");

}

Console.ReadKey();

}

}

}

任务110:

编写程序,定义一个4*4的二维数组,随机产生16个100到999之间的整数放入其中,并把这4行4列的数据显示出来;编写程序,把该二维数组每行的和、每列的和求出来。

参考代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceConsoleApplication2

{

classProgram

{

staticvoidMain(string[]args)

{

int[,]arr=newint[4,4];

Randomrnd=newRandom();

Console.WriteLine("二维数组的内容是:

");

for(inti=0;i<=3;i++)//产生并显示二维数组的内容

{

for(intj=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(inti=0;i<=3;i++)//求每行的和

{

intsum=0;

Console.Write("第{0}行的和=",i);

for(intj=0;j<=3;j++)

sum=sum+arr[i,j];

Console.WriteLine(sum);

}

Console.Write("\n");

Console.WriteLine("每列的和如下:

");

for(inti=0;i<=3;i++)//求每列的和

{

intsum=0;

Console.Write("第{0}列的和=",i);

for(intj=0;j<=3;j++)

sum=sum+arr[j,i];

Console.WriteLine(sum);

}

Console.ReadKey();

}

}

}

任务111:

编写程序,定义一个6*8的二维数组,随机产生48个10到99之间的整数,放入该二维数组中。

把该数组的内容按照6行8列的形式显示出来。

再求出该数组中的最大值和最小值。

参考代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceConsoleApplication2

{

classProgram

{

staticvoidMain(string[]args)

{

int[,]arr=newint[6,8];

Randomrnd=newRandom();

for(inti=0;i<=5;i++)//随机产生并显示数组的所有数据内容

{

for(intj=0;j<=7;j++)

{

arr[i,j]=rnd.Next(10,100);

Console.Write(arr[i,j]+"");

}

Console.Write("\n");

}

intmax=-100000;

intmin=+100000;

for(inti=0;i<=5;i++)

{

for(intj=0;j<=7;j++)

{

if(arr[i,j]>max)//求最大

max=arr[i,j];

if(arr[i,j]

min=arr[i,j];

}

}

Console.WriteLine("最大值={0}",max);

Console.WriteLine("最小值={0}",min);

Console.ReadKey();

}

}

}

任务112:

编写程序,定义一个5*5的二维数组,该数组中每个元素的值是行下标和列下标的平方和,把这个二维数组的内容全部显示出来。

参考代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceConsoleApplication2

{

classProgram

{

staticvoidMain(string[]args)

{

int[,]arr=newint[5,5];

for(inti=0;i<=4;i++)//初始化数组内容

{

for(intj=0;j<=4;j++)

arr[i,j]=i*i+j*j;

}

for(inti=0;i<=4;i++)//显示数组内容

{

for(intj=0;j<=4;j++)

Console.Write(arr[i,j]+"");

Console.Write("\n");

}

Console.ReadKey();

}

}

}

任务113:

编写程序,定义一个10*10的二维数组,随机产生100个10到99之间的整数放入其中,请把该数组的内容全部显示出来。

再编写程序,对这个二维数组的每行进行升序排序,把排序后的二维数组的内容显示出来。

参考代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceConsoleApplication2

{

classProgram

{

staticvoidMain(string[]args)

{

int[,]arr=newint[10,10];

Randomrnd=newRandom();

Console.WriteLine("排序后的内容:

");

for(inti=0;i<=9;i++)//产生并显示数组

{

for(intj=0;j<=9;j++)

{

arr[i,j]=rnd.Next(10,99);

Console.Write(arr[i,j]+"");

}

Console.Write("\n");

}

for(intp=0;p<=9;p++)//对每行进行排序

{

for(inti=0;i<=8;i++)

{

for(intj=i+1;j<=9;j++)

{

if(arr[p,i]>arr[p,j])

{

inttemp=arr[p,i];

arr[p,i]=arr[p,j];

arr[p,j]=temp;

}

}

}

}

Console.WriteLine("排序后的内容:

");

for(inti=0;i<=9;i++)//显示排序数组

{

for(intj=0;j<=9;j++)

{

Console.Write(arr[i,j]+"");

}

Console.Write("\n");

}

Console.ReadKey();

}

}

}

方法二:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceConsoleApplication2

{

classProgram

{

staticvoidMain(string[]args)

{

int[,]arr=newint[10,10];

Randomrnd=newRandom();

Console.WriteLine("排序前的内容:

");

for(inti=0;i<=9;i++)//产生并显示数组

{

for(intj=0;j<=9;j++)

{

arr[i,j]=rnd.Next(10,99);

Console.Write(arr[i,j]+"");

}

Console.Write("\n");

}

for(intp=0;p<=9;p++)//对每行进行排序

{

for(inti=0;i<9;i++)

for(intj=0;j<9-i;j++)

{

if(arr[p,j]>arr[p,j+1])

{

intt=arr[p,j];

arr[p,j]=arr[p,j+1];

arr[p,j+1]=t;

}

}

}

Console.WriteLine("排序后的内容");

for(inti=0;i<=9;i++)

{

for(intj=0;j<=9;j++)

Console.Write(arr[i,j]+"");

Console.WriteLine();

}

Console.ReadLine();

}

}

}

任务114:

编写程序把以下值通过赋值语句赋值给一个二维数组:

1265341235

4518235638

7190183392

2331633487

9583372291

请求出该二维数组每行的最大值和每列的最小值。

参考代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceConsoleApplication2

{

classProgram

{

staticvoidMain(string[]args)

{

int[,]arr=newint[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(inti=0;i<=4;i++)

{

for(intj=0;j<=4;j++)

Console.Write(arr[i,j]+"");

Console.Write("\n");

}

Console.WriteLine("每行的最大值如下:

");

for(inti=0;i<=4;i++)//求每行最大值

{

intmax=arr[i,0];

for(intj=1;j<=4;j++)

{

if(arr[i,j]>max)

max=arr[i,j];

}

Console.WriteLine("第{0}行的最大值={1}",i,max);

}

Console.WriteLine("每列的最小值如下:

");

for(inti=0;i<=4;i++)//求每列的最小值

{

intmin=arr[0,i];

for(intj=1;j<=4;j++)

{

if(arr[j,i]

min=arr[i,j];

}

Console.WriteLine("第{0}列的最小值={1}",i,min);

}

Console.ReadKey();

}

}

}

任务115:

利用二维数组打如下的图形:

1

11

121

1331

14641

15101051

思路:

可以先考虑打印如下图形:

1

11

121

1331

14641

15101051

参考代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceConsoleApplication2

{

classProgram

{

staticvoidMain(string[]args)

{

int[,]arr=newint[6,6];

for(inti=0;i<=5;i++)//把第1列全部设为1

arr[i,0]=1;

for(inti=0;i<=5;i++)//把对角线设为1

arr[i,i]=1;

for(inti=2;i<=5;i++)//构造杨辉三角形

{

for(intj=1;j<=i-1;j++)

arr[i,j]=arr[i-1,j]+arr[i-1,j-1];

}

intp=30;

for(inti=0;i<=5;i++)

{//显示出来

for(intj=0;j

Console.Write("");

p=p-1;

for(intj=0;j<=i;j++)

Console.Write(arr[i,j]+"");

Console.Write("\n");

}

Console.ReadKey();

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2