int i,j,k; int nWidth,nHeight,nThird; cin>>nThird>>nHeight>>nWidth; //声明动态二维数组 /*int **grayScale = new int * [nHeight]; for (i = 0;i < nHeight;i++) { grayScale[i] = new int[nWidth * 3]; }*/ //声明一个三维数组 int ***grayScale = new int ** [nThird]; for (i = 0;i < nThird;i++) { grayScale[i] = new int*[nHeight]; for (j = 0;j < nHeight;j++) { grayScale[i][j] = new int [nWidth]; } } for (k = 0;k < nThird;k++) { for (j = 0;j < nHeight;j++) { for (i = 0;i < nWidth;i++) { grayScale[k][j][i] = 1; } } } cout<<setw(5); for (k = 0;k < nThird;k++) { for (j = 0;j < nHeight;j++) { for (i = 0;i < nWidth;i++) { cout<<grayScale[k][j][i]<<setw(5); } cout<<endl; } cout<<endl; } 释放二维数组 //for(i = 0;i < nWidth;i++) //{ // delete []grayScale[i]; //} //delete []grayScale; //释放三维数组 for (j = 0;j < nThird;j++) { for (i = 0;i < nHeight;i++) { delete []grayScale[j][i]; } } delete []grayScale; 简单的程序,一看就懂!