Java编程练习题.docx
《Java编程练习题.docx》由会员分享,可在线阅读,更多相关《Java编程练习题.docx(44页珍藏版)》请在冰点文库上搜索。
Java编程练习题
一、简单问题:
1.编程求下列式子的值,
y=1-1/2+1/3-1/4+…+1/99-1/100
并将结果输出,格式为:
1-1/2+1/3-1/4+…+1/99-1/100=表达式的值
publicclassProg1{
publicstaticvoidmain(String[]args){
doublesum=0;
for(doublei=1;i<=100;i++)
{
sum=sum+(Math.pow(-1,i+1))*(1/i);
}
System.out.print("1-1/2+1/3-1/4+…+1/99-1/100="+sum);
运行结果:
2.请编程实现:
由键盘输入的任意一组字符,统计其中大写字母的个数m和小写字母的个数n,并输出m、n中的较大者。
importjava.util.Scanner;
Scannercin=newScanner(System.in);
StringStr=cin.nextLine();
intm=0,n=0;
for(inti=0;i{charc=Str.charAt(i);if(c>='a'&&c<='z')n++;elseif(c>='A'&&c<='Z')m++;}if(n>m)System.out.print(n);elseSystem.out.print(m);}}运行结果:3.编程,求全部水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。如:153=13+53+33。importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){intb=0,c=0,d=0;for(inti=100;i<1000;i++){d=i%10;c=(i/10)%10;b=(i/100)%10;if(i==b*b*b+c*c*c+d*d*d){System.out.println(i);}}}}4.请编制程序判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes;否则输出no。importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);System.out.println("请输入一个正整数:");inta=cin.nextInt();if(a%7==0&&a%5==0){System.out.println("YES");}elseSystem.out.println("NO");}}5.请编程实现:对于给定的一个百分制成绩,输出相应的五分制成绩。设:90分以上为‘A’,80—89分为‘B’,70—79分为‘C’,60—69分为‘D’,60分以下为‘E’。importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);System.out.println("请输入成绩:");inta=cin.nextInt();if(a>=90){System.out.println("A");}elseif(a>=80){System.out.println("B");}elseif(a>=70){System.out.println("C");}elseif(a>=60){System.out.println("D");}else{System.out.println("E");}}}6.输入一行字符,将其中的字母变成其后续的第3个字母,输出。例:a→d,x→a;y→b;编程实现。importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);Stringstr=cin.nextLine();char[]c=newchar[]{'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c'};for(inti=0;i{char[]c1=newchar[str.length()];c1[i]=str.charAt(i);for(intj=0;j<26;j++){if(c1[i]==c[j]){charzc=c[j+3];System.out.print(zc);}}}}}7.编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词.例如:1转换成Monday,7转换成Sunday.importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);System.out.println("输入任意一个1~7之间的整数:");ints=cin.nextInt();switch(s){case1:{System.out.print("Monday");break;}case2:{System.out.print("Tuesday");break;}case3:{System.out.print("Wednesday");break;}case4:{System.out.print("Thursday");break;}case5:{System.out.print("Friday");break;}case6:{System.out.print("Saturday");break;}case7:{System.out.print("Sunday");break;}default:{}}}}连续输出:importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);while(true){System.out.println("输入任意一个1~7之间的整数:");ints=cin.nextInt();switch(s){case1:{System.out.println("Monday");break;}case2:{System.out.println("Tuesday");break;}case3:{System.out.print("Wednesday");break;}case4:{System.out.println("Thursday");break;}case5:{System.out.println("Friday");break;}case6:{System.out.println("Saturday");break;}case7:{System.out.println("Sunday");break;}default:{}}}}}8.输入三角形的三边a,b,c,判断能否构成三角形.若能,计算周长.importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);inta=cin.nextInt();intb=cin.nextInt();intc=cin.nextInt();intl=0;if(a+b>c&&a+c>b){l=a+b+c;System.out.print(l);}else{System.out.print("不能构成三角形");}}}9.编程序,输入a,b,c,求方程ax2+bx+c=0的解。importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);System.out.println("请输入a,b,c的值:");doublea=cin.nextInt();doubleb=cin.nextInt();doublec=cin.nextInt();doublet=0;t=b*b-4*a*c;doublex1=0,x2=0;inta1=(int)a;intb1=(int)b;intc1=(int)c;System.out.println("方程"+a1+"*x*x+"+b1+"*x+"+c1+"=0的解:");if(t<0)System.out.println("无解");elseif(t>=0){x1=(-b+Math.pow(t,0.5))/(2*a);x2=(-b-Math.pow(t,0.5))/(2*a);System.out.println("x1="+x1+""+"x2="+x2);}}}运行结果:请输入a,b,c的值:156方程1*x*x+5*x+6=0的解:x1=-2.0x2=-3.010.计算出前20项fibonacci数列,要求一行打印5个数.(未写)一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子? 我们不妨拿新出生的一对小兔子分析一下: 第一个月小兔子没有繁殖能力,所以还是一对; 两个月后,生下一对小兔总数共有两对; 三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对; …… 依次类推可以列出下表: 经过月数0123456789101112幼仔对数01123581321345589144成兔对数1123581321345589144233总体对数123581321345589144233377importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){inta=0,b=1,c=1;Scannercin=newScanner(System.in);System.out.println("请输入经过的月数:");intn=cin.nextInt();if(n==1){a=1;b=1;c=2;}else{for(inti=2;i<=n+1;i++){a=b;b=c;c=a+b;}}System.out.print("幼仔对数:"+a+",");System.out.print("成兔对数:"+b+",");System.out.print("总体对数:"+c);}}数列输出:publicclassProg1{publicstaticvoidmain(String[]args){inta=0,b=1,c=1;for(inti=1;i<=20;i++){a=b;b=c;c=a+b;System.out.println("经过"+i+"天,"+"幼仔对数:"+a+","+"成兔对数:"+b+","+"总体对数:"+c);}}}运行结果:经过1天,幼仔对数:1,成兔对数:1,总体对数:2经过2天,幼仔对数:1,成兔对数:2,总体对数:3经过3天,幼仔对数:2,成兔对数:3,总体对数:5经过4天,幼仔对数:3,成兔对数:5,总体对数:8经过5天,幼仔对数:5,成兔对数:8,总体对数:13经过6天,幼仔对数:8,成兔对数:13,总体对数:21经过7天,幼仔对数:13,成兔对数:21,总体对数:34经过8天,幼仔对数:21,成兔对数:34,总体对数:55经过9天,幼仔对数:34,成兔对数:55,总体对数:89经过10天,幼仔对数:55,成兔对数:89,总体对数:144经过11天,幼仔对数:89,成兔对数:144,总体对数:233经过12天,幼仔对数:144,成兔对数:233,总体对数:377经过13天,幼仔对数:233,成兔对数:377,总体对数:610经过14天,幼仔对数:377,成兔对数:610,总体对数:987经过15天,幼仔对数:610,成兔对数:987,总体对数:1597经过16天,幼仔对数:987,成兔对数:1597,总体对数:2584经过17天,幼仔对数:1597,成兔对数:2584,总体对数:4181经过18天,幼仔对数:2584,成兔对数:4181,总体对数:6765经过19天,幼仔对数:4181,成兔对数:6765,总体对数:10946经过20天,幼仔对数:6765,成兔对数:10946,总体对数:1771111.输出100~10000之间个位数为3的所有素数。publicclassProg1{publicstaticvoidmain(String[]args){booleanflag=false;for(inti=103;i<10000;i=i+10){for(intj=2;jif(i%j!=0){flag=true;}if(flag){System.out.println(i);}}}}12.百钱买百鸡问题:公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一百只鸡有几种买法.publicclassProg1{publicstaticvoidmain(String[]args){inta=0;intb=0;doublec=0;intg=0;for(a=1;a<=20;a++){for(b=1;b<=33;b++){for(c=1;c<=100;c++){if(5*a+3*b+c/3==100&&a+b+c==100){g++;intc1=(int)c;System.out.print("第"+g+"种方法:公鸡:"+a+"只,母鸡:"+b+"只,小鸡:"+c1+"只");System.out.println();}}}}}}13.请编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。/*-------------------------------------------------------【程序设计】---------------------------------------------------------题目:请编制程序要求输入整数a和b,若a2+b2大于100,输出a2+b2百位以上的数字,否则输出两数之和。建立的类名为Prog1-------------------------------------------------------*//**********Program**********/importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(Stringargs[]){Scannercin=newScanner(System.in);System.out.println("请输入a,b的值:");inta=cin.nextInt();intb=cin.nextInt();intc=0;if(a*a+b*b>100){c=(a*a+b*b)/100;System.out.println(c);}elseSystem.out.println(a+b);}}/**********End**********/运行结果:请输入a,b的值:102114.编程实现:对键盘输入的任意一个四位正整数,计算各位数字平方和。如:2345,则:计算22+32+42+52importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);System.out.println("请输入一个四位正整数:");intn=cin.nextInt();inta,b,c,d;d=n%10;c=(n-d)%100/10;b=(n-d-c*10)%1000/100;a=(n-d-c*10-b*100)/1000;intm=0;m=a*a+b*b+c*c+d*d;System.out.println(m);}}运行结果:请输入一个四位正整数:33333615.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完,请编程.publicclassProg1{publicstaticvoidmain(String[]args){intlast=0;last=1020/2+2;inti=0;for(i=1;last>=0;i++){last=last-(last/2+2);}System.out.print("需要的天数:"+i);}}运行结果:需要的天数:916.编程,输出200以内所有完全平方数C(满足C2=A2+B2)及其个数。publicclassProg1{publicstaticvoidmain(String[]args){inta=0,b=0,n=0;for(intc=0;c<=200;c++)for(a=0;a<=200;a++)for(b=0;b<=200;b++){if(c*c==a*a+b*b){System.out.println(c);n++;}}n=(n-1)/2+1;System.out.println(n);}}17.设N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),编程,输出所有满足条件的N。(未写)publicclassProg1{publicstaticvoidmain(String[]args){for(inti=1000;i*9<10000;i++){Stringc="";Stringstr=String.valueOf(i);for(intj=str.length()-1;j>=0;j--){c=c+str.charAt(j);}inta=Integer.parseInt(c);if(a==i*9)System.out.println(i);}}}18.编程,输出555555的约数中最大的三位数。publicclassProg1{publicstaticvoidmain(String[]args){intmax=100;for(inti=100;i<=999;i++){if(555555%i==0){if(i>max)max=i;}}System
charc=Str.charAt(i);
if(c>='a'&&c<='z')
n++;
elseif(c>='A'&&c<='Z')
m++;
if(n>m)
System.out.print(n);
else
System.out.print(m);
3.编程,求全部水仙花数。
所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。
如:
153=13+53+33。
intb=0,c=0,d=0;
for(inti=100;i<1000;i++)
d=i%10;
c=(i/10)%10;
b=(i/100)%10;
if(i==b*b*b+c*c*c+d*d*d)
System.out.println(i);
4.请编制程序判断输入的正整数是否既是5又是7的整倍数。
若是,则输出yes;否则输出no。
System.out.println("请输入一个正整数:
");
inta=cin.nextInt();
if(a%7==0&&a%5==0)
System.out.println("YES");
System.out.println("NO");
5.请编程实现:
对于给定的一个百分制成绩,输出相应的五分制成绩。
设:
90分以上为‘A’,80—89分为‘B’,70—79分为‘C’,60—69分为‘D’,60分以下为‘E’。
System.out.println("请输入成绩:
if(a>=90)
{System.out.println("A");}
elseif(a>=80)
{System.out.println("B");}
elseif(a>=70)
{System.out.println("C");}
elseif(a>=60)
{System.out.println("D");}
{System.out.println("E");}
6.输入一行字符,将其中的字母变成其后续的第3个字母,输出。
例:
a→d,x→a;y→b;编程实现。
Stringstr=cin.nextLine();
char[]c=newchar[]{'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c'};
for(inti=0;i{char[]c1=newchar[str.length()];c1[i]=str.charAt(i);for(intj=0;j<26;j++){if(c1[i]==c[j]){charzc=c[j+3];System.out.print(zc);}}}}}7.编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词.例如:1转换成Monday,7转换成Sunday.importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);System.out.println("输入任意一个1~7之间的整数:");ints=cin.nextInt();switch(s){case1:{System.out.print("Monday");break;}case2:{System.out.print("Tuesday");break;}case3:{System.out.print("Wednesday");break;}case4:{System.out.print("Thursday");break;}case5:{System.out.print("Friday");break;}case6:{System.out.print("Saturday");break;}case7:{System.out.print("Sunday");break;}default:{}}}}连续输出:importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);while(true){System.out.println("输入任意一个1~7之间的整数:");ints=cin.nextInt();switch(s){case1:{System.out.println("Monday");break;}case2:{System.out.println("Tuesday");break;}case3:{System.out.print("Wednesday");break;}case4:{System.out.println("Thursday");break;}case5:{System.out.println("Friday");break;}case6:{System.out.println("Saturday");break;}case7:{System.out.println("Sunday");break;}default:{}}}}}8.输入三角形的三边a,b,c,判断能否构成三角形.若能,计算周长.importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);inta=cin.nextInt();intb=cin.nextInt();intc=cin.nextInt();intl=0;if(a+b>c&&a+c>b){l=a+b+c;System.out.print(l);}else{System.out.print("不能构成三角形");}}}9.编程序,输入a,b,c,求方程ax2+bx+c=0的解。importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);System.out.println("请输入a,b,c的值:");doublea=cin.nextInt();doubleb=cin.nextInt();doublec=cin.nextInt();doublet=0;t=b*b-4*a*c;doublex1=0,x2=0;inta1=(int)a;intb1=(int)b;intc1=(int)c;System.out.println("方程"+a1+"*x*x+"+b1+"*x+"+c1+"=0的解:");if(t<0)System.out.println("无解");elseif(t>=0){x1=(-b+Math.pow(t,0.5))/(2*a);x2=(-b-Math.pow(t,0.5))/(2*a);System.out.println("x1="+x1+""+"x2="+x2);}}}运行结果:请输入a,b,c的值:156方程1*x*x+5*x+6=0的解:x1=-2.0x2=-3.010.计算出前20项fibonacci数列,要求一行打印5个数.(未写)一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子? 我们不妨拿新出生的一对小兔子分析一下: 第一个月小兔子没有繁殖能力,所以还是一对; 两个月后,生下一对小兔总数共有两对; 三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对; …… 依次类推可以列出下表: 经过月数0123456789101112幼仔对数01123581321345589144成兔对数1123581321345589144233总体对数123581321345589144233377importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){inta=0,b=1,c=1;Scannercin=newScanner(System.in);System.out.println("请输入经过的月数:");intn=cin.nextInt();if(n==1){a=1;b=1;c=2;}else{for(inti=2;i<=n+1;i++){a=b;b=c;c=a+b;}}System.out.print("幼仔对数:"+a+",");System.out.print("成兔对数:"+b+",");System.out.print("总体对数:"+c);}}数列输出:publicclassProg1{publicstaticvoidmain(String[]args){inta=0,b=1,c=1;for(inti=1;i<=20;i++){a=b;b=c;c=a+b;System.out.println("经过"+i+"天,"+"幼仔对数:"+a+","+"成兔对数:"+b+","+"总体对数:"+c);}}}运行结果:经过1天,幼仔对数:1,成兔对数:1,总体对数:2经过2天,幼仔对数:1,成兔对数:2,总体对数:3经过3天,幼仔对数:2,成兔对数:3,总体对数:5经过4天,幼仔对数:3,成兔对数:5,总体对数:8经过5天,幼仔对数:5,成兔对数:8,总体对数:13经过6天,幼仔对数:8,成兔对数:13,总体对数:21经过7天,幼仔对数:13,成兔对数:21,总体对数:34经过8天,幼仔对数:21,成兔对数:34,总体对数:55经过9天,幼仔对数:34,成兔对数:55,总体对数:89经过10天,幼仔对数:55,成兔对数:89,总体对数:144经过11天,幼仔对数:89,成兔对数:144,总体对数:233经过12天,幼仔对数:144,成兔对数:233,总体对数:377经过13天,幼仔对数:233,成兔对数:377,总体对数:610经过14天,幼仔对数:377,成兔对数:610,总体对数:987经过15天,幼仔对数:610,成兔对数:987,总体对数:1597经过16天,幼仔对数:987,成兔对数:1597,总体对数:2584经过17天,幼仔对数:1597,成兔对数:2584,总体对数:4181经过18天,幼仔对数:2584,成兔对数:4181,总体对数:6765经过19天,幼仔对数:4181,成兔对数:6765,总体对数:10946经过20天,幼仔对数:6765,成兔对数:10946,总体对数:1771111.输出100~10000之间个位数为3的所有素数。publicclassProg1{publicstaticvoidmain(String[]args){booleanflag=false;for(inti=103;i<10000;i=i+10){for(intj=2;jif(i%j!=0){flag=true;}if(flag){System.out.println(i);}}}}12.百钱买百鸡问题:公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一百只鸡有几种买法.publicclassProg1{publicstaticvoidmain(String[]args){inta=0;intb=0;doublec=0;intg=0;for(a=1;a<=20;a++){for(b=1;b<=33;b++){for(c=1;c<=100;c++){if(5*a+3*b+c/3==100&&a+b+c==100){g++;intc1=(int)c;System.out.print("第"+g+"种方法:公鸡:"+a+"只,母鸡:"+b+"只,小鸡:"+c1+"只");System.out.println();}}}}}}13.请编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。/*-------------------------------------------------------【程序设计】---------------------------------------------------------题目:请编制程序要求输入整数a和b,若a2+b2大于100,输出a2+b2百位以上的数字,否则输出两数之和。建立的类名为Prog1-------------------------------------------------------*//**********Program**********/importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(Stringargs[]){Scannercin=newScanner(System.in);System.out.println("请输入a,b的值:");inta=cin.nextInt();intb=cin.nextInt();intc=0;if(a*a+b*b>100){c=(a*a+b*b)/100;System.out.println(c);}elseSystem.out.println(a+b);}}/**********End**********/运行结果:请输入a,b的值:102114.编程实现:对键盘输入的任意一个四位正整数,计算各位数字平方和。如:2345,则:计算22+32+42+52importjava.util.Scanner;publicclassProg1{publicstaticvoidmain(String[]args){Scannercin=newScanner(System.in);System.out.println("请输入一个四位正整数:");intn=cin.nextInt();inta,b,c,d;d=n%10;c=(n-d)%100/10;b=(n-d-c*10)%1000/100;a=(n-d-c*10-b*100)/1000;intm=0;m=a*a+b*b+c*c+d*d;System.out.println(m);}}运行结果:请输入一个四位正整数:33333615.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完,请编程.publicclassProg1{publicstaticvoidmain(String[]args){intlast=0;last=1020/2+2;inti=0;for(i=1;last>=0;i++){last=last-(last/2+2);}System.out.print("需要的天数:"+i);}}运行结果:需要的天数:916.编程,输出200以内所有完全平方数C(满足C2=A2+B2)及其个数。publicclassProg1{publicstaticvoidmain(String[]args){inta=0,b=0,n=0;for(intc=0;c<=200;c++)for(a=0;a<=200;a++)for(b=0;b<=200;b++){if(c*c==a*a+b*b){System.out.println(c);n++;}}n=(n-1)/2+1;System.out.println(n);}}17.设N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),编程,输出所有满足条件的N。(未写)publicclassProg1{publicstaticvoidmain(String[]args){for(inti=1000;i*9<10000;i++){Stringc="";Stringstr=String.valueOf(i);for(intj=str.length()-1;j>=0;j--){c=c+str.charAt(j);}inta=Integer.parseInt(c);if(a==i*9)System.out.println(i);}}}18.编程,输出555555的约数中最大的三位数。publicclassProg1{publicstaticvoidmain(String[]args){intmax=100;for(inti=100;i<=999;i++){if(555555%i==0){if(i>max)max=i;}}System
char[]c1=newchar[str.length()];
c1[i]=str.charAt(i);
for(intj=0;j<26;j++)
if(c1[i]==c[j])
{charzc=c[j+3];
System.out.print(zc);}
7.编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词.例如:
1转换成Monday,7转换成Sunday.
System.out.println("输入任意一个1~7之间的整数:
ints=cin.nextInt();
switch(s)
case1:
System.out.print("Monday");
break;
case2:
System.out.print("Tuesday");
case3:
System.out.print("Wednesday");
case4:
System.out.print("Thursday");
case5:
System.out.print("Friday");
case6:
System.out.print("Saturday");
case7:
System.out.print("Sunday");
default:
连续输出:
while(true)
{System.out.println("输入任意一个1~7之间的整数:
System.out.println("Monday");
System.out.println("Tuesday");
System.out.println("Thursday");
System.out.println("Friday");
System.out.println("Saturday");
System.out.println("Sunday");
8.输入三角形的三边a,b,c,判断能否构成三角形.若能,计算周长.
intb=cin.nextInt();
intc=cin.nextInt();
intl=0;
if(a+b>c&&a+c>b)
{l=a+b+c;
System.out.print(l);}
System.out.print("不能构成三角形");
9.编程序,输入a,b,c,求方程ax2+bx+c=0的解。
System.out.println("请输入a,b,c的值:
doublea=cin.nextInt();
doubleb=cin.nextInt();
doublec=cin.nextInt();
doublet=0;
t=b*b-4*a*c;
doublex1=0,x2=0;
inta1=(int)a;
intb1=(int)b;
intc1=(int)c;
System.out.println("方程"+a1+"*x*x+"+b1+"*x+"+c1+"=0的解:
if(t<0)
System.out.println("无解");
elseif(t>=0)
x1=(-b+Math.pow(t,0.5))/(2*a);
x2=(-b-Math.pow(t,0.5))/(2*a);
System.out.println("x1="+x1+""+"x2="+x2);
}}
请输入a,b,c的值:
1
5
6
方程1*x*x+5*x+6=0的解:
x1=-2.0x2=-3.0
10.计算出前20项fibonacci数列,要求一行打印5个数.(未写)
一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。
如果所有兔都不死,那么一年以后可以繁殖多少对兔子?
我们不妨拿新出生的一对小兔子分析一下:
第一个月小兔子没有繁殖能力,所以还是一对;
两个月后,生下一对小兔总数共有两对;
三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对;
……
依次类推可以列出下表:
经过月数
0
2
3
4
7
8
9
10
11
12
幼仔对数
13
21
34
55
89
144
成兔对数
233
总体对数
377
inta=0,b=1,c=1;
System.out.println("请输入经过的月数:
intn=cin.nextInt();
if(n==1)
a=1;
b=1;
c=2;
for(inti=2;i<=n+1;i++)
a=b;b=c;c=a+b;
System.out.print("幼仔对数:
"+a+",");
System.out.print("成兔对数:
"+b+",");
System.out.print("总体对数:
"+c);
数列输出:
for(inti=1;i<=20;i++)
System.out.println("经过"+i+"天,"+"幼仔对数:
"+a+","+"成兔对数:
"+b+","+"总体对数:
经过1天,幼仔对数:
1,成兔对数:
1,总体对数:
经过2天,幼仔对数:
2,总体对数:
经过3天,幼仔对数:
2,成兔对数:
3,总体对数:
经过4天,幼仔对数:
3,成兔对数:
5,总体对数:
经过5天,幼仔对数:
5,成兔对数:
8,总体对数:
经过6天,幼仔对数:
8,成兔对数:
13,总体对数:
经过7天,幼仔对数:
13,成兔对数:
21,总体对数:
经过8天,幼仔对数:
21,成兔对数:
34,总体对数:
经过9天,幼仔对数:
34,成兔对数:
55,总体对数:
经过10天,幼仔对数:
55,成兔对数:
89,总体对数:
经过11天,幼仔对数:
89,成兔对数:
144,总体对数:
经过12天,幼仔对数:
144,成兔对数:
233,总体对数:
经过13天,幼仔对数:
233,成兔对数:
377,总体对数:
610
经过14天,幼仔对数:
377,成兔对数:
610,总体对数:
987
经过15天,幼仔对数:
610,成兔对数:
987,总体对数:
1597
经过16天,幼仔对数:
987,成兔对数:
1597,总体对数:
2584
经过17天,幼仔对数:
1597,成兔对数:
2584,总体对数:
4181
经过18天,幼仔对数:
2584,成兔对数:
4181,总体对数:
6765
经过19天,幼仔对数:
4181,成兔对数:
6765,总体对数:
10946
经过20天,幼仔对数:
6765,成兔对数:
10946,总体对数:
17711
11.输出100~10000之间个位数为3的所有素数。
booleanflag=false;
for(inti=103;i<10000;i=i+10)
for(intj=2;j
if(i%j!
=0)
flag=true;
if(flag)
12.百钱买百鸡问题:
公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一百只鸡有几种买法.
inta=0;
intb=0;
doublec=0;
intg=0;
for(a=1;a<=20;a++)
for(b=1;b<=33;b++)
for(c=1;c<=100;c++)
if(5*a+3*b+c/3==100&&a+b+c==100)
{g++;
System.out.print("第"+g+"种方法:
公鸡:
"+a+"只,母鸡:
"+b+"只,小鸡:
"+c1+"只");
System.out.println();
13.请编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:
请编制程序要求输入整数a和b,若a2+b2大于100,
输出a2+b2百位以上的数字,
否则输出两数之和。
建立的类名为Prog1
-------------------------------------------------------*/
/**********Program**********/
publicclassProg1
publicstaticvoidmain(Stringargs[])
System.out.println("请输入a,b的值:
intc=0;
if(a*a+b*b>100)
c=(a*a+b*b)/100;
System.out.println(c);
System.out.println(a+b);
}/**********End**********/
请输入a,b的值:
14.编程实现:
对键盘输入的任意一个四位正整数,计算各位数字平方和。
2345,则:
计算22+32+42+52
System.out.println("请输入一个四位正整数:
inta,b,c,d;
d=n%10;
c=(n-d)%100/10;
b=(n-d-c*10)%1000/100;
a=(n-d-c*10-b*100)/1000;
intm=0;
m=a*a+b*b+c*c+d*d;
System.out.println(m);
请输入一个四位正整数:
3333
36
15.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完,请编程.
intlast=0;
last=1020/2+2;
inti=0;
for(i=1;last>=0;i++)
last=last-(last/2+2);
System.out.print("需要的天数:
"+i);
}运行结果:
需要的天数:
16.编程,输出200以内所有完全平方数C(满足C2=A2+B2)及其个数。
inta=0,b=0,n=0;
for(intc=0;c<=200;c++)
for(a=0;a<=200;a++)
for(b=0;b<=200;b++)
if(c*c==a*a+b*b)
{System.out.println(c);
n=(n-1)/2+1;
System.out.println(n);
17.设N是一个四位数,它的9倍恰好是其反序数(例如:
123的反序数是321),编程,输出所有满足条件的N。
(未写)
for(inti=1000;i*9<10000;i++)
Stringc="";
Stringstr=String.valueOf(i);
for(intj=str.length()-1;j>=0;j--)
c=c+str.charAt(j);
inta=Integer.parseInt(c);
if(a==i*9)
18.编程,输出555555的约数中最大的三位数。
intmax=100;
for(inti=100;i<=999;i++)
if(555555%i==0)
if(i>max)
max=i;
System
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2