理论教育 C语言程序设计:二维数组的应用

C语言程序设计:二维数组的应用

时间:2023-10-20 理论教育 版权反馈
【摘要】:矩阵转置,即将二维数组行列元素互换,成为一个新数组。杨辉三角可以通过C语言的二维数组实现输出:先定义一个二维数组:a[N][N],略大于要打印的行数。图6-9杨辉三角结合案例导读和本节二维数组的知识,总结如下:1.能力很重要,可是有一样东西比能力更重要,那就是品德。A.2B.3C.4D.不确定的值8.写出下列数组程序的运行结果。

C语言程序设计:二维数组的应用

【例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行)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈