C#二维数组答案.docx
《C#二维数组答案.docx》由会员分享,可在线阅读,更多相关《C#二维数组答案.docx(10页珍藏版)》请在冰豆网上搜索。
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;
using;
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;
("第2行第1列的元素是:
{0}",arr[2,1]);
("第0行第2列的元素是:
{0}",arr[0,2]);
("第3行第0列的元素是:
{0}",arr[3,0]);
();
}
}
}
任务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;
using;
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;
("所有第0行的数据:
");
for(inti=0;i<=2;i++)
{
(arr[0,i]+"");
}
("\n所有第1列的数据:
");
for(inti=0;i<=3;i++)
{
(arr[i,1]+"");
}
("所有第2行的数据:
");
for(inti=0;i<=2;i++)
{
(arr[2,i]+"");
}
();
}
}
}
任务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;
using;
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++)
{
(arr[i,j]+"");
}
("\n");
}
();
}
}
}
任务109:
编写程序,定义一个4行,4列的二维数组,随机产生16个10到99之间的整数,放入其中,并把这4行4列的数据显示出来;把该数组的对角线元素显示出来,所谓的对角线元素如下图所示:
注意:
从左上到右下的称为正对角线元素,从左下到右上的称为斜对角线元素。
参考代码:
usingSystem;
using;
namespaceConsoleApplication2
{
classProgram
{
staticvoidMain(string[]args)
{
int[,]arr=newint[4,4];
Randomrnd=newRandom();
("二维数组的内容如下:
");
for(inti=0;i<=3;i++)MainMainMainMainrite(arr[i,j]+"");
Console.WriteLine();
}
();
}
}
}
任务114:
编写程序把以下值通过赋值语句赋值给一个二维数组:
1265341235
4518235638
7190183392
2331633487
9583372291
请求出该二维数组每行的最大值和每列的最小值。
参考代码:
usingSystem;
using;
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}
};
("数组内容如下:
");//显示数组内容
for(inti=0;i<=4;i++)
{
for(intj=0;j<=4;j++)
(arr[i,j]+"");
("\n");
}
("每行的最大值如下:
");
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];
}
("第{0}行的最大值={1}",i,max);
}
("每列的最小值如下:
");
for(inti=0;i<=4;i++)//求每列的最小值
{
intmin=arr[0,i];
for(intj=1;j<=4;j++)
{
if(arr[j,i]min=arr[i,j];
}
("第{0}列的最小值={1}",i,min);
}
();
}
}
}
任务115:
利用二维数组打如下的图形:
1
11
121
1331
14641
15101051
思路:
可以先考虑打印如下图形:
1
11
121
1331
14641
15101051
参考代码:
usingSystem;
using;
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
("");
p=p-1;
for(intj=0;j<=i;j++)
(arr[i,j]+"");
("\n");
}
();
}
}
}