代码在下面,复制到你的编辑器里面看比较好,加了注解的。还有问题就再问哈。
---------------------------------------------------------------
public class d_array
{
public static void main(String[] args)
{
int[][] d_array = new int[8][8] //定义一个8行8列的二维数组
int num = 1//定义一个填充用的数备用
for (int i = 0 i <d_array.length i++)
for (int j = 0 j <d_array[i].length j++)
d_array[i][j] = num++
//让上面那个填充数自加并填充进数组
for (int p = 0 p <d_array.length p++)
{
System.out.println("数组第 "+(p+1)+" 行中的值为:")//加一句说明是第几行的,不要也可以。
for (int q = 0 q <d_array[p].length q++)
System.out.print(d_array[p][q]+"\t")//加这个\t可以有效的分离开两个数,排版好看
System.out.print("\n\n")//换行,第一个用于一行之后换行,第二个用于一个空行,与下面那行隔开,排版好看的
}
//分行打印数组
int sum = 0//一样,定义一个合备用
for (int m = 0 m <d_array.length m++)
for (int n = 0 n <d_array[m].length n++)
sum = sum + d_array[m][n]
//分别将数组中的各个数加到这个合中去,最后得到的这个合就是数组中所有数的合了。
System.out.println("数组中的所有值得合为:"+sum)//打印结果
}
}
---------------------------------------------------------------
其实二维数组的操作秘诀就是两个for循环套起来用,这样就很简单了。
#include<stdio.h>#define MAX 100
#define LEN 80
main()
{
char text[MAX][LEN]
register int i,j,t
for(t=0t<MAXt++)
{
printf("%d:",t)
gets(text[t])/* 由于 text 定义为二维数组, 所以该循环体的作用就是:循环从键盘输入 MAX-1 次字符串,并存入 text[t] 中,然后 t 依次递增 1 */
if(!text[t][0]) /* 该语句用于判断字符串是否到结尾?,如果到结尾了,即:text[t][0] = '\0',表示只输入了一个回车符,则退出循环 */
break
}
for(i=0i<ti++)
{
for(j=0text[i][j]j++)
{
putchar(text[i][j])/* 显示 text 二维数组中的字符 */
putchar('\n')
}
}
}
实际上是数据的一种组织方式,你可以想象成: 二维数组:行x列的长方形 三位数组:长x宽x高 的长方体 在c语言中,数组的意义,就是让数组的名字可以当作指针来使用,这样就能很方便的定位数据。 比如你有一个数组arry[300][300][300] 那么他能存储300*300*300=27000000个数据,如果要移动指针,那么非常浪费,你需要移动27000000次才能移动到最后,而用数组的名字*(arry[300][300]++)只要300次就可以移动到最后一个数据。 当然数组和指针不仅仅是这个用途,还有更多精妙的用法等你灵光一现。