【例6.6】矩阵转置,即将二维数组行列元素互换,成为一个新数组。
程序:
【例6.7】求二维数组中最大元素值及其行号、列号。
【拓展知识】
杨辉三角是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉于1261年所著的《详解九章算法》一书中出现。另,我国北宋数学家贾宪早在公元11世纪已经使用过它,这表明我国发现这个表不晚于11世纪。在欧洲,帕斯卡(1623—1662年)在1654年发现这一规律,所以这个表又称为“帕斯卡三角形”。帕斯卡的发现比杨辉要迟393年,比贾宪要迟600年。杨辉三角是中国数学史上的一个伟大成就,由此可见我国古代数学的成就是非常值得中华民族骄傲和自豪的。
杨辉三角的规律(图6-9):每行端点与结尾的数为1;每个数等于它上方两数之和。杨辉三角可以通过C语言的二维数组实现输出:先定义一个二维数组:a[N][N],略大于要打印的行数。再令两边的数为1,即当每行的第一个数和最后一个数为1。a[i][0]=a[i][i-1]=1,n为行数。除两边的数外,任何一个数为上两顶数之和,即a[i][j]=a[i-1][j-1]+a[i-1][j],最后输出杨辉三角。
图6-9 杨辉三角
结合案例导读和本节二维数组的知识,总结如下:
1.能力很重要,可是有一样东西比能力更重要,那就是品德。身体不好是废品,思想不好是毒品。品德,才是人真正的最高学历。
2.好的种子能在风吹日晒之后仍然顽强生长,不埋怨,努力向上,这才是最真最亮的品格。
1.对二维数组a[8][12],哪些引用是错误的,并说明原因。
a[3][0]a[4][2+5]a[6.5][9]a[2][5+8]
a[8][12]a[4-4][11]a[12][6]
2.对说明语句static int a[10]={6,7,8,9,10};的正确理解是( )。
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[5]至a[9]
D.因为数组长度与初值的个数不相同,所以此语句不正确(www.daowen.com)
3.下面程序如果只有一个错误,那么是(每行程序前面的数字表示行号)( )。
A.第3行有错 B.第5行有错 C.第7行有错 D.无错
4.合法的数组定义是( )。
A.int a[3][]={0,1,2,3,4,5};
B.int a[][3]={0,1,2,3,4};
C.int a[2][3]={0,1,2,3,4,5,6};
D.int a[2][3]={0,1,2,3,4,5};
5.数组定义为int a[3][2]={1,2,3,4,5,6},值为6的数组元素是( )。
A.a[3][2] B.a[2][1] C.a[1][2] D.a[2][3]
6.若有以下的程序,请问执行后的输出结果是( )。
A.50,53,56 B.49,52,55
C.2,5,8 D.1,4,7
7.若有说明:int a[][4]={1,2,3,4,5,6,7,8,9},则数组第一维的大小为( )。
A.2 B.3
C.4 D.不确定的值
8.写出下列数组程序的运行结果。
9.写出下列数组程序的运行结果。
10.输出如图6-9所示的杨辉三角(输出7行)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。