31.题目:将一个数组逆序输出。
             1.程序分析:用第一个与最后一个交换。

package com.niit.homework1;

/**
 * @author: Annie
 * @date:2016年5月18日
 * @description:【程序31】  题目:将一个数组逆序输出。 
          
 */
public class OppositeNum {

    public static void main(String[] args) {
        int[] arr = {7,9,40,47,55,87,6,2};
        OppositeNum.print(arr);
    }
    /**
     * 将数组对应的位置互换的方法
     * */
    public static void print(int [] arr){
        for (int i = 0; i <=(arr.length-1)/2 ; i++) {
            int temp = arr[i];
            arr[i] = arr[arr.length-1-i];
            arr[arr.length-1-i] = temp;
        }
        for (int j = 0; j < arr.length; j++) {
            System.out.print(arr[j]+"  ");    
        }
    }

}

 

32.

33.【程序33】
      题目:打印出杨辉三角形(要求打印出10行如下图)

package com.niit.homework1;

/**
 * @author: Annie
 * @date:2016年5月22日
 * @description:【程序33】 
题目:打印出杨辉三角形(要求打印出10行如下图) 
1.程序分析: 
        1 
       1 1 
      1 2 1 
     1 3 3 1 
    1 4 6 4 1 
  1 5 10 10 5 1 

 */
public class PascalTriangle {
    public static void main(String[] args) {
        int [][] triangle = new int[10][10];//定义一个二维数组
        PascalTriangle pt = new PascalTriangle();
        pt.calculateTriangle(triangle);

    }
    /**
     * 给杨辉三角赋值的方法
     * */
    private int[][] calculateTriangle(int [][] triangle){
        for (int i = 0; i < triangle.length; i++) {//通过循环给边界赋值
            triangle[i][i] = 1;
            triangle[i][0] = 1;
        }
        //存入中间的数
        for (int i = 2; i < triangle.length; i++) {
            for (int j = 1; j < triangle.length; j++) {
                triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1];
            }
        }
        printTriangele(10,triangle);
        return triangle;
        
    }
    /**
     * 打印杨辉三角(空白的倒立的直角三角形+直角的杨辉三角形)
     * */
    private static void printTriangele(int row,int [][]arr){
        for (int i = 0; i < row; i++) {
            //打印空白的部分
            for (int j = 0; j <2*(row-i) ; j++) {
                System.out.print(" ");
            }
            for (int j2 = 0; j2 <=i; j2++) {
                //打印等腰的杨辉三角
                System.out.print(arr[i][j2]+"     ");
            }
            System.out.println();
        }
    }

    /**
     * 打印杨辉三角方法二:
     * */

    /*public static void main(String[] args) {
    int triangle[][]=new int[10][];// 创建二维数组
    // 遍历二维数组的第一层
    for (int i = 0; i < triangle.length; i++) {
        triangle[i]=new int[i+1];// 初始化第二层数组的大小
        // 遍历第二层数组
        for(int j=0;j<=i;j++){
            // 将两侧的数组元素赋值为1
            if(i==0||j==0||j==i){
                triangle[i][j]=1;
            }else{// 其他数值通过公式计算
                triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1];
            }
            System.out.print(triangle[i][j]+"\t");         // 输出数组元素
        }
        System.out.println();               //换行
    }
}*/

}

 

34.

35.

posted on 2016-05-23 17:21  王铭霞  阅读(122)  评论(0编辑  收藏  举报