数组 的基本应用 习题
时间:2011-11-11
来源:互联网
实验六 数组
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();
}
}
}
这是我在课上做的一点作业:拿出来和大家分享一下;希望大家多多指教,提出更好的建议和方法
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();
}
}
}
这是我在课上做的一点作业:拿出来和大家分享一下;希望大家多多指教,提出更好的建议和方法
作者: luxideyao 发布时间: 2011-11-11
楼主可以再练练递归方法输出F数列的方法,:-)。
作者: open4u 发布时间: 2011-11-11
谢谢你的建议
作者: luxideyao 发布时间: 2011-11-11
路过.
作者: udbwcso 发布时间: 2011-11-11
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28