4、={{1},{5},{9}};等价于inta[3][4]={{1,0,0,0},{5,0,0,0},{9,0,0,0}};inta[3][4]={{1},{5,6}};相当于inta[3][4]={{1},{5,6},{0}};6.2.3二维数组的初始化inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};等价于:inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};inta[][4]={{0,0,3},{},{0,10}};合法6.2.3二维数组的初始化
5、例6.4将一个二维数组行和列的元素互换,存到另一个二维数组中。6.2.4二维数组程序举例解题思路:可以定义两个数组:数组a为2行3列,存放指定的6个数数组b为3行2列,开始时未赋值将a数组中的元素a[i][j]存放到b数组中的b[j][i]元素中用嵌套的for循环完成6.2.4二维数组程序举例#includeintmain(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf("arraya:");for(i=0;i<=1;i++)
6、{for(j=0;j<=2;j++){printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("");}处理a的一行中各元素处理a中某一列元素输出a的各元素a元素值赋给b相应元素printf("arrayb:");for(i=0;i<=2;i++){for(j=0;j<=1;j++)printf("%5d",b[i][j]);printf("");}return0;}输出b的各元素例6.5有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在
7、的行号和列号。解题思路:采用“打擂台算法”先找出任一人站在台上,第2人上去与之比武,胜者留在台上第3人与台上的人比武,胜者留台上,败者下台以后每一个人都是与当时留在台上的人比武,直到所有人都上台比为止,最后留在台上的是冠军例6.5有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。解题思路:采用“打擂台算法”先把a[0][0]的值赋给变量maxmax用来存放当前已知的最大值a[0][1]与max比较,如果a[0][1]>max,则表示a[0][1]是已经比过的数据中值最大的
8、,把它的值赋给max,取代了max的原值以后依此处理,最后max就是最大的值fori=0to2forj=0to3max=a[i][j]row=Icolum=ja[i][j]>max真max=a[0][0]输出:max,row,colum假记行号……inti,j,row=0,colum=0,max;inta[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};max=a[0][0];for(i=0