上QQ阅读APP看书,第一时间看更新
四、思考题
(1)求任意一个给定整数的反序数。反序数就是将整数各个位置上的数字顺序倒过来形成的整数。如12345的反序数是54321。
(2)求解百鸡问题(出自《张丘建算经》):鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
(3)打印图形(如打印正立/倒立等腰三角形、菱形、空心菱形等)。
(4)(选做)判断用户输入的数是否为水仙花数。水仙花数是指一个n位(n≥3)的数字,它的每个位上的数字的n次幂之和等于它本身。例如,1×1×1+5×5×5+3×3×3=153。
(5)设计一个程序完成对彩票中奖情况的模拟。根据彩票的末尾号码来判断是否中奖,末尾号码为1、3、9是三等奖;末尾后2位为29、49、99是二等奖;末三位为123、128、789是一等奖。实现时要求设计两个类Guess和GuessTest。Guess完成是否中奖以及中几等奖的判断,GuessTest完成彩票号码的产生及结果输出。用if语句或switch语句实现。
(6)编写程序求解1到100的累加和,并从控制台输出。
(7)分析下面的程序,说出下面的程序为什么是死循环?
class Sum { public static void main(String args[]){ int i=1, n=10, s=0; while (i<=n) s = s + i; System.out.println("s="+s); } }
(8)分析下面源程序的结构,写出运行结果。
class CircleArea { final static double PI=3.14159; public static void main(String args[]){ double r1=8.0, r2=5.0; System.out.println("半径为"+r1+"的圆面积="+area(r1)); System.out.println("半径为"+r2+"的圆面积="+area(r2)); } static double area(double r){ return (PI∗r∗r); } }
(9)编写程序,根据考试成绩的等级(A、B、C、D、E)打印出百分制分数段。将A设为90分及以上,B设为90分以下80分及以上,C设为80分以下70分及以上,D设为70分以下60分及以上,E设为60分以下。要求在程序中使用switch语句。
(10)将下面的程序补充完整,利用break语句和带标号的break语句分别退出一重循环和二重循环。
for (i=0; i<10; i++){ int j=i∗10 while(j<100){ if (j==10)break; j=j+5; } }