第一次写博文 是在期末考试复习的过程中。现在先把代码粘过来,注释后面补。
1.杨辉三角
class YangHui
{public static final int row=10;
public static void main(String[] args)
{
int i,j;
int a[][]=new int[10][];
create(a);
System.out.println("杨辉三角");
draw(a);
System.out.println("随机数三角");
random(a);
draw(a);
}
public static void create(int m[][])
{
for(int i=0;i<10;i++)
{
m[i]=new int[i+1];
m[i][0]=1;
m[i][i]=1;
for(int j=1;j<i;j++)
m[i][j]=m[i-1][j-1]+m[i-1][j];
}
}
public static void draw(int m[][])
{
for (int i=0;i<10;i++)
{
for(int j=0;j<9-i;j++)
System.out.print(" ");
for(int j=0;j<=i;j++)
{
System.out.print(m[i][j]+" ");
if(m[i][j]<10) System.out.print(" ");
else System.out.print(" ");
}
System.out.println("\n");
}
}
public static void random(int m[][])
{
for(int i=0;i<10;i++)
{
m[i]=new int[i+1];
for(int j=0;j<=i;j++)
m[i][j]=(int)(Math.random()*100)+1;
}
}
}
2.螺旋矩阵
class RotationMartrix
{
public static final int N=5;
public static void main(String[] args)
{
int m[][]=new int[N][N];
System.out.println("Hello World!");
rotation(m);
print(m);
}
public static void rotation(int m[][])
{ int k=1;
for(int i=0;i<=N/2;i++)
{
for(int j=i;j<N-i;j++)
m[i][j]=k++;
for(int j=i+1;j<N-i;j++)
m[j][N-i-1]=k++;
for(int j=N-i-2;j>=i;j--)
m[N-i-1][j]=k++;
for(int j=N-i-2;j>i;j--)
m[j][i]=k++;
}
}
public static void print(int m[][])
{
for(int i=0;i<N;i++)
{for(int j=0;j<N;j++)
System.out.print(m[i][j]+" ");
System.out.print("\n");
}
}
}
3.魔方阵
class MagicMartrix
{
public static final int N=5;
public static void main(String[] args)
{
int m[][]=new int[N][N];//全部为0
int i=0,j=N/2,number;
m[i][j]=1;
for(number=2;number<=N*N;number++)
{
if(m[(i-1+N)%N][(j+1)%N]==0)
{i=(i-1+N)%N;j=(j+1)%N;}
else
i=(i+1)%N;
m[i][j]=number;
}
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
System.out.print(m[i][j]+" ");
System.out.print("\n");
}
}
}