Java练习题10.2
1.有如下数据:
1 8 9
5 61
5
4 9 37 55 66
求出以上所有数据的和;
package com.shangjiti.aoian;
public class Ex01 {
public static void main(String[] args) {
int[][] a=new int[4][];
a[0]=new int[]{1,8,9};
a[1]=new int[]{5,61};
a[2]=new int[]{5};
a[3]=new int[]{4,9,37,55,66};
int i,j,sum=0;
for(i=0;i<=a.length-1;i++)
{
for(j=0;j<=a[i].length-1;j++)
sum=sum+a[i][j];
}
System.out.println(sum);
}
}
2、有如下矩阵:
12 34 56 66
3 23 69 88
1 90 100 44
55 13 71 22
使用二维数组存储以上数据,并遍历此二维数组找出最大的数,输出该数及其在数组中的行下标和列下标。
package com.shangjiti.aoian;
public class Ex02 {
public static void main(String[] args) {
int[][] a=new int[4][4];
a[0]=new int[]{12,34,56,66};
a[1]=new int[]{3,23,69,88};
a[2]=new int[]{1,90,100,44};
a[3]=new int[]{55,13,71,22};
int i,j,max,i_max,j_max;
max=a[0][0];
i_max=0;
j_max=0;
for(i=0;i<=a.length-1;i++)
{
for(j=0;j<=a[i].length-1;j++)
if(a[i][j]>max)//if(a[i][j]>a[i_max][i_max]
{
max=a[i][j];
i_max=i;
j_max=j;
}
}
System.out.println(max);
System.out.println(i_max);
System.out.println(j_max);
}
}
3、输出杨辉三角形的前10行。
package com.shangjiti.aoian;
public class Ex03 {
public static void main(String[] args) {
int[][] y=new int[10][10];
for(int i=0;i<9;i++)
{
//杨辉三角内的位置赋值,j<=i
for(int j=0;j<=i;j++)
{
if(j==0||j==i) //第一列主对角线
y[i][j]=1;
else
y[i][j]=y[i-1][j]+y[i-1][j-1];
System.out.print(y[i][j]+"\t");
}
System.out.println();
}
}
}