Java基础之练习题04

想测试的话,复制然后在main方法里调用一下就完事了

1.写一个函数,计算一个整数数组的平均值
代码:

//求整数数组的平均值
public static void q_1(int[] num) {
	double sum=0;
	for(int i=0;i<num.length;i++) {
		sum+=num[i];
	}
	//sum是double型的,aver计算出也是double型的
	//如果定义为int,误差较大
	double aver = sum/num.length;
	System.out.println("aver:"+aver);
}

2.自定义一个整型数组a,读入一个整数n,如果n在数组中存在,则输入n的下标,否则,输出-1
代码:

	//判断n是否在数组a里面
	public static void q_2(int n) {
		int []a= {1,2,3,5,4,6,7,9,8,10};
		for(int i=0;i<a.length;i++) {
			if(n==a[i]) {
				System.out.println(n+"的下标为:"+i);
				return;
			}
		}
		System.out.println("-1");
	}

3.给定一个数组,输出数组中的最大值和最小值
代码:

//求出数组的最大值和最小值
	public static void q_3(int[] num) {
		int min = num[0];
		int max = num[0];
		for(int i=1;i<num.length;i++) {
			if(min>num[i]) {
				min = num[i];
			}
			if(max<num[i]) {
				max = num[i];
			}
		}
		System.out.println("min:"+min);
		System.out.println("max:"+max);
	}

4.给定一个数组,把这个数组中的所有元素进行颠倒
代码:

//数组顺序颠倒
public static int[] q_4(int[] num) {
	int mun[] = new int[num.length];
	for(int i=0;i<num.length;i++) {
		mun[i] = num[num.length-1-i];
		System.out.print(mun[i]+" ");
	}
	return mun;
}

5.完成冒泡排序,定义数组int nums[] ={1,3,2,7,5};利用冒泡排序对其安装从小到大的顺序排序,输出结果
代码:

//冒泡排序
public static void q_5() {
	int nums[] = {1,3,2,7,5};
	for(int i=0;i<nums.length;i++) {
		for(int j=0;j<nums.length-1-i;j++) {
			if(nums[j]>nums[j+1]) {
				int num;
				num = nums[j];
				nums[j] = nums[j+1];
				nums[j+1] = num;
			} 
		}
	}
	for(int i=0;i<nums.length;i++) {
		System.out.print(nums[i]+" ");
	}
}

6.完成选择排序,定义数组int nums[] ={1,3,2,7,5};利用选择排序对其安装从小到大的顺序排序,输出结果
代码:

//选择排序
public static void q_6() {
	int nums[] = {1,3,2,7,5};
	for(int i=0;i<nums.length;i++) {
		for(int j=i+1;j<nums.length;j++) {
			if(nums[i]>nums[j]) {
				int num;
				num = nums[i];
				nums[i] = nums[j];
				nums[j] = num;
			}
		}
	}
	for(int i=0;i<nums.length;i++) {
		System.out.print(nums[i]+" ");
	}
}

7.打印杨辉三角
代码:

//打印杨辉三角
	public static void q_7() {
		int nums[][] = new int[10][10];
		for(int i=0;i<nums.length;i++) {
			for(int j=0;j<=i;j++) {
				if(j==0||j==i) {
					nums[i][j] =1;
				}else {
					nums[i][j] = nums[i-1][j-1]+nums[i-1][j];
				}
				System.out.print(nums[i][j]+" ");
			}
			System.out.println();
		}
	}

8.打印等腰杨辉三角
代码:

//打印等腰杨辉三角
public static void q_8() {
	//因为杨辉三角计算出的数越来越大,数字位数不一样
	//会影响美观,看上去不像等腰的了,所以干脆把数组的长度定义的小一点
	//看起来直观
	int nums[][] = new int[5][5];
	for(int i=0;i<nums.length;i++) {
		for(int j=0;j<=i;j++) {
			if(j==0||j==i) {
				nums[i][j] =1;
			}else {
				nums[i][j] = nums[i-1][j-1]+nums[i-1][j];
			}
		}
	}
	for(int i=0;i<nums.length;i++) {
		for(int k=1;k<nums.length-i;k++) {
			System.out.print(" ");
		}
		for(int j=0;j<=i;j++) {
			System.out.print(nums[i][j]+" ");
		}
		System.out.println();
	}
}

猜你喜欢

转载自blog.csdn.net/qq_43336579/article/details/107879637