System.out.print("*");
}
System.out.println();
}
}
}
【15】.设有整形变量x和y的值分别为5和110.指出执行了下列语句后,变量x和y后的值分别是多少?
1)while(x<=y)x*=2;
X=160,y=110;
2)do{x=y/x;y=y-x;}while(y>=1);
X=18,y=0;
【16】.水仙花数是一个n(>=3)位的数,它等于每个数字的n次幂之和。
例如,153是一个水仙花数,153=13+53+33,是编写一个程序,求小于999的所有水仙花数。
[解答]:
publicclassT16{
publicstaticvoidmain(String[]args){
intx,y,z;
for(intm=100;m<999;m++){
x=m/100;
y=(m%100)/10;
z=(m%100)%10;
if(m==x*x*x+y*y*y+z*z*z)
System.out.print(m+"");
}
}
}
【17】.编程序解百鸡问题:
鸡翁一,值钱五,鸡母一,值钱三,鸡邹三,值钱一,百钱买百鸡,求鸡翁,鸡母,鸡邹各几何?
[解答]:
publicclassT17
{
publicstaticvoidmain(Stringargs[])
{
for(inti=0;i<=100;i++)
for(intj=0;j<=100;j++)
for(intk=0;k<=100;k+=3)//鸡雏的个数必须使3的倍数
{
if(((5*i+3*j+k/3)==100)&&(i+j+k==100))
System.out.println("鸡翁:
"+i+";鸡母:
"+j+";鸡雏:
"+k);
}
}
}
【18】.编写程序,按下面的公式计算自然对数底e的值:
e=1+1/1!
+1/2!
+1/3!
......
[解答]:
publicclassT18
{
publicstaticvoidmain(Stringargs[])
{
intn=1000;//计算精度
doublee=1.0;
for(inti=1;i<=n;i++)
{
e=e+1.0/T18.factorial(i);
}
System.out.println("e="+e);
}
staticdoublefactorial(inta)//计算阶乘的静态方法
{
doublef=1.0;
for(intj=1;j<=a;j++)
f=f*j;
returnf;
}
}
【19】.回文整数是正读反读相同的整数,编写一个程序,输入一个整数,判断是否为回文整数。
[解答]:
importjava.util.*;
publicclassT19//输入整数,判断是否是回文整数
{
publicstaticvoidmain(Stringargs[])
{
inta[]=newint[100];
inti=0;
booleanb=true;
ScannerconsoleScanner=newScanner(System.in);
System.out.print("请输入一个int型整数:
");
intx=consoleScanner.nextInt();
inttest=x;
while(test>0)//把整数的各个位上的数存到数组里
{
a[i]=test%10;
test=test/10;
i++;
}
for(intj=0;j
{
if(a[j]!
=a[i-j-1])
{
b=false;
break;
}
}
if(b)System.out.println(x+"是回文整数");
elseSystem.out.println(x+"并不是回文整数");
}
}
【20】.草地上有一堆野果,有一只猴子每天要吃掉一半又一个,五天后刚好吃完,问有多少个,猴子每天吃多少个?
[解答]:
publicclassT20{
publicstaticvoidmain(String[]args){
intday,x1,x2;
day=5;x2=0;
while(day>0){
x1=(x2+1)*2;
x2=x1;
day--;
}
System.out.println("共有"+x2+"个桃子。
");
System.out.println("----------------------------");
for(inti=1;i<6;i++){
inteast;
east=x2/2+1;
x2=x2/2-1;
System.out.println("第"+i+"天吃"+east+"个。
");
}
System.out.println("----------------------------");
}
}
【21】.输入整数a和b,计算并输出a、b的和与差。
例:
输入
2-8
输出
Thesumis-6
Thedifferenceis10
[解答]:
importjava.io.*;
importjava.util.Scanner;
publicclassT21{
publicstaticvoidmain(String[]args){
inta,b,sum,diff;
Scannerin=newScanner(System.in);
a=in.nextInt();
b=in.nextInt();
sum=a+b;
diff=a-b;
System.out.println("Thesumis"+sum);
System.out.println("Thedifferenceis"+diff);
}
}
【22】.输入1个实数x,计算并输出其平方根。
例:
输入
1.21
输出
Thesquarerootof1.21is1.1
[解答]:
importjava.io.*;
importjava.util.Scanner;
publicclassT22{
publicstaticvoidmain(Stringargs[]){
doublex,root;
Scannerin=newScanner(System.in);
x=in.nextDouble();
root=Math.pow(x,0.5);
System.o