Java-07 – JAVA基础编程练习

【程序11】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
程 序 分 析:可填在百位、十位、个位的数字都是1、2、3、4。这里要用3个for循环,用if判断条件是否符合,符合条件的数字打印出来,并计算个数总和


【程序12】

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

 


【程序13】

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

程序分析:在10万以内判断,

     用for循环判断:先将该数加上100后再开方,再将该数加上268后再开方,

     如果开方后的结果再平方后分别和i+100,i+268相等,即是结果。


【程序14】

题目:输入某年某月某日,判断这一天是这一年的第几天?

     程序分析:以3月5日为例,应该先把前两个月的加起来

     ,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

      闰年的条件:year除以400能整除,或者year除以4能整除,但是不能是100的倍数


【程序15】

题目:输入三个整数x,y,z,请把这三个数由小到大输出。

程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

最后两个数也使z>y就可以了


【程序16】

题目:输出9*9口诀。

程序分析:分行与列考虑,共9行9列,i控制行,jC列。

表达式: i+"*"+j+"="+i*j,这里要用两个for循环控制输出和换行


【程序17】

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

程序分析:采取逆向思维的方法,从后往前推断。


【程序18】

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

程序分析:???感觉不能下手! 

      * 这道题目使用的是构造方法,还有arrayList的知识!标准答案的答案!

      * 但是,还是被我用for循环给解决了

   * 这里重要的是使用赋值,还有充分使用给出的条件,还有一个就是互不冲突的常识,比如第一个if的使用!


【程序19】

题目:打印出如下图案(菱形)

程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,

               利用双重 for循环,第一层控制行,第二层控制列。

     详细分析第一部分图形的规律:1、这是一个等腰三角形,*的打印次数1、3、5、7等差数列

                                2、还要注意空格打印的 次数3、2、1、0逐渐递减

      * 第二部分同理可得! 


【程序20】

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

程序分析:请抓住分子与分母的变化规律。分数:fraction

       1、第一项是2/1

       2、前面一项分子和分母相加的和,为下一项的分子

      *3、前面一项分子,为下一项的分母