最新C#二维数组答案.docx
- 文档编号:14625504
- 上传时间:2023-06-25
- 格式:DOCX
- 页数:22
- 大小:22.38KB
最新C#二维数组答案.docx
《最新C#二维数组答案.docx》由会员分享,可在线阅读,更多相关《最新C#二维数组答案.docx(22页珍藏版)》请在冰点文库上搜索。
最新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(); } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 C# 二维 数组 答案