实验六  数组1 计算Fibonacci数列前30项,并按照5个数据一排输出。
public class Fibonacci{ public static void main(String args[]){
int[] fi = new int[30];
fi[0] = 1;
fi[1] = 1;

for(int a = 2; a < 30 ; a++){
fi[a] = fi[a - 1] + fi[a -2];


for(int b = 0; b < 30; b ++){
System.out.print(fi[b] + " \t ");
if ((b + 1) % 5 == 0)
System.out.println();
}
}

2 定义一个长度为10的数组,输出数组各元素的值,用冒泡法对数组进行排序,然后再次输出数组元素。
public class Buble{
public static void main(String args[]){
int[] Bu = {23, 25, 65 ,78, 71, 97, 13, 57, 82, 74};
int s = 0;

System.out.println("before sort the arry");
while (s < 10){
System.out.print(Bu[s] + "  ");
s ++;
}

for (int i = 0; i < 10; i ++){
for (int b = 9; b > i; b --){
if(Bu[b] < Bu[b - 1]){
int temp = 0;
temp = Bu[b -1];
Bu[b - 1] = Bu[b];
Bu[b] = temp;
}
}
}

System.out.println("After sort the arry");
for(int i = 0; i <10; i++){ System.out.print(Bu[i] + "  ");

}
}

3 用二维数组编程,打印5阶魔方阵。
所谓魔方阵是用1到n2的数字组成一个n阶矩阵,矩阵的每一行,每一列和对角线之和均相等。如图是3阶魔方阵:
8 1 6
3 5 7
4 9 2
构造魔方阵的思路:
1)首先将1放入第一行中间的位置
2)如果上一个数值的右上方位置为空,则当前值被放置在上一个数值的右上方,否则被放置在上一个数值的正下方。public class MoFa {
public static void main(String args[]){
int[][] M = new int[5][5];
int vol = 0 , raw = 2;
int v = 1;

M[vol][raw] = v;


while(v <= 24){

if (M[(vol - 1 + 5) % 5 ][(raw + 1) % 5] == 0){
raw =(raw + 1) % 5;
vol =(vol - 1 + 5) % 5;
M[vol][ raw] = ++v;
}else{
vol = (vol +1)% 5;
M[vol ][ raw  ] = ++ v;
}

}

for(int a = 0 ; a < 5; a ++){
for(int b = 0; b < 5; b++){
System.out.print(M[a][b]+ " \t");
}
System.out.println();
}
}
}这是我在课上做的一点作业:拿出来和大家分享一下;希望大家多多指教,提出更好的建议和方法