读书人

JAVA经典算法40题(十)

发布时间: 2012-12-24 10:43:14 作者: rapoo

JAVA经典算法40题(10)

【程序19】题目:打印出如下图案(菱形)
*
***
******
********
******
***
*

1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。

三角形:

public class StartG {    public static void main (String [] args){        int i=0;        int j=0;        for(i=1;i<=4;i++){            for(j=1;j<=2*i-1;j++)                System.out.print("*");            System.out.println("");        }        for(i=4;i>=1;i--){            for(j=1;j<=2*i-3;j++)            System.out.print("*");        }    }}//菱形:public class StartG {    public static void main(String [] args){        int i=0;        int j=0;        for(i=1;i<=4;i++){            for(int k=1; k<=4-i;k++)                System.out.print(" ");            for(j=1;j<=2*i-1;j++)                System.out.print("*");            System.out.println("");        }        for(i=4;i>=1;i--){            for(int k=1; k<=5-i;k++)                System.out.print(" ");            for (j=1;j<=2*i-3;j++)                System.out.print("*");            System.out.println("");        }    }}

?

【程序20】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

public class test20 {    public static void main(String[] args) {        float fm = 1f;        float fz = 1f;        float temp;        float sum = 0f;        for (int i=0;i<20;i++){            temp = fm;            fm = fz;            fz = fz + temp;            sum += fz/fm;            //System.out.println(sum);        }        System.out.println(sum);    }}

?

读书人网 >编程

热点推荐