xoxobool

成功者,永远成功,失败者,永远失败,我要面对者,走向成功!

导航

数组的练习

1.已知2个一维数组:a[]={3,4,5,6,7}b[]={1,2,3,4,5,6,7};把数组a与数组b对应的元素乘积再赋值给数组b,如:b[2]=a[2]*b[2];最后输出数组b的元素。

int a[]={3,4,5,6,7};
            int b[]={1,2,3,4,5,6,7};
            for(int i=0;i<4;i++)
            {
                b[i]*=a[i];
                System.out.print(b[i]+",");
                
            }
            System.out.println();

2.找出如下数组中最大的元素和最小的元素,a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}

    int a1[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}};
            int  a2[] = new int[11];
            int a3=0;
            //遍历出二维数组,并转为一维数组
            for(int i=0;i<a1.length;i++)
            {
                for(int j=0;j<a1[i].length;j++)
                {
                    for(int k=a3;k<a2.length;k++)
                    {
                        a2[k]=a1[i][j];
                        a3++;
                        break;
                    }
                    
                }
                
            }
            //排序
            int temp=0;
            for(int i=0;i<10;i++)
            {
                for(int j=i;j<i;j++)
                {
                    if(a[i]>a[j])
                    {
                        temp=a2[i];
                        a2[i]=a2[j];
                        a2[j]=temp;
                    }
                }
                
            }
            System.out.println("数组中最大的元素为:"+a2[10]);
            System.out.println("数组中最小的元素为:"+a2[0]);

3.编写一个名为Test的主类,类中只有一个主方法;在主方法中定义一个大小为50的一维整型数组,数组名为x,数组中存放着{1,3,5,…,99}输出这个数组中的所有元素,每输出十个换一行;在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余位置存的是‘#’;输出这个数组中的所有元素。

int []x =new int[50];
        int a=1;
        for(int i=0;i<50;i++)
        {
            x[i]=a;
            a+=2;
        
            if(i %10==0 && i!=0)
            {
                System.out.print("\n"+x[i] +" ");
            }
            else
            {
                System.out.print(x[i]+" ");
            }
        }
        System.out.println();
        String [][]y =new String[10][10];
        for(int i=0;i<10;i++)
        {
            for(int j=0;j<10;j++)
            {
                if(i==j||(i+j)==9)
                {
                    y[i][j]="*";
                }
                else
                {
                    y[i][j]="#";
                }
                System.out.print(y[i][j]+" ");
            }
            System.out.println();
        }

4.从键盘上输入一个正整数n,请按照以下五行杨辉三角形的显示方式,输出杨辉三角形的前n行。请采用循环控制语句来实现。

(三角形腰上的数为1,其他位置的数为其上一行相邻两个数之和。)

System.out.println("请输入一个正整数");
        Scanner sc =new Scanner(System.in);
        int n=0;
        n =sc.nextInt();
        int[][]yh = new int[n][n];
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<=i;j++)
            {
                if(j==0 ||j==n)
                {
                    yh[i][j]=1;
                }
                else
                {
                    yh[i][j]=yh[i-1][j]+yh[i-1][j-1];
                }
                System.out.print(yh[i][j]+" ");
            }
            System.out.println();
        }

 


  

 

posted on 2016-09-16 22:38  春之林木  阅读(211)  评论(0编辑  收藏  举报