程序作业.docx

上传人:b****1 文档编号:14939682 上传时间:2023-06-28 格式:DOCX 页数:30 大小:22.21KB
下载 相关 举报
程序作业.docx_第1页
第1页 / 共30页
程序作业.docx_第2页
第2页 / 共30页
程序作业.docx_第3页
第3页 / 共30页
程序作业.docx_第4页
第4页 / 共30页
程序作业.docx_第5页
第5页 / 共30页
程序作业.docx_第6页
第6页 / 共30页
程序作业.docx_第7页
第7页 / 共30页
程序作业.docx_第8页
第8页 / 共30页
程序作业.docx_第9页
第9页 / 共30页
程序作业.docx_第10页
第10页 / 共30页
程序作业.docx_第11页
第11页 / 共30页
程序作业.docx_第12页
第12页 / 共30页
程序作业.docx_第13页
第13页 / 共30页
程序作业.docx_第14页
第14页 / 共30页
程序作业.docx_第15页
第15页 / 共30页
程序作业.docx_第16页
第16页 / 共30页
程序作业.docx_第17页
第17页 / 共30页
程序作业.docx_第18页
第18页 / 共30页
程序作业.docx_第19页
第19页 / 共30页
程序作业.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

程序作业.docx

《程序作业.docx》由会员分享,可在线阅读,更多相关《程序作业.docx(30页珍藏版)》请在冰点文库上搜索。

程序作业.docx

程序作业

【程序1】   

题目:

古典问题:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

   (一共12个月)

publicclasslianXi01{

publicstaticvoidmain(Stringargs[]){

System.out.println("第1个月的兔子个数为:

"+1+"对");

System.out.println("第2个月的兔子个数为:

"+1+"对");

intsum;//兔子总数

intM=12;//月份这里取12个月7

intn1=1;//第一个月兔子数

intn2=1;//第二个月兔子数

for(inti=3;i<=M;i++){

sum=n2;

n2=n1+n2;

n1=sum;

System.out.println("第"+i+"个月的兔子数目为:

"+n2+"对");

}

}

}

或者

publicclasslianXi01{

publicstaticvoidmain(Stringargs[]){

System.out.println("第1个月的兔子个数为:

"+1+"对");

System.out.println("第2个月的兔子个数为:

"+1+"对");

intsum=2;//前两月兔子总数

intM=12;//月份这里取12个月

intn1=1;//第一个月兔子数

intn2=1;//第二个月兔子数

for(inti=3;i<=M;i++){

n2=sum;

sum=n1+n2;

n1=n2;

System.out.println("第"+i+"个月的兔子数目为:

"+sum+"对");

}

}

}

 

【程序2】   

题目:

判断101-200之间有多少个素数,并输出所有素数。

(素数:

除了1和它本身不能被其他自然数整除的数)

publicclasslianxi02{

publicstaticvoidmain(String[]args){

   intcount=0;

booleanb=false;

   for(inti=101;i<200;i+=2){

        for(intj=2;j<=Math.sqrt(i);j++){

       if(i%j==0){

b=false;

break;

}else{

b=true;

}

    }

       if(b==true){

count++;System.out.println(i);

}

     }

   System.out.println("素数个数是:

"+count);

}

}

【程序3】   

题目:

打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

publicclasslianXi03{

publicstaticvoidmain(Stringargs[]){

inti,j,k,n;

for(n=100;n<1000;n++){

i=n/100;

j=n/10-i*10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k){

System.out.println(n);

}

}

}

}

【程序4】   

题目:

将一个正整数分解质因数。

例如:

输入90,打印出90=2*3*3*5。

  

importjava.util.Scanner;

publicclasslianXi04{

publicstaticvoidmain(Stringargs[]){

intx;

System.out.print("请输入一个正整数:

");

Scanners=newScanner(System.in);

x=s.nextInt();

inta=2;//先找出最小质数

System.out.print(x+"=");

while(a<=x){

if(a==x){

System.out.println(x);

break;

}elseif(x%a==0){

System.out.print(a+"*");

x=x/a;

}else{

a++;

}

}

}

}

 

【程序5】   

题目:

利用条件运算符的嵌套来完成此题:

学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

   

importjava.util.*;

publicclasslianXi05{

publicstaticvoidmain(Stringargs[]){

intx;

Scanners=newScanner(System.in);

System.out.println("请输入成绩:

");

x=s.nextInt();

if(x>=90){

System.out.println("A");

}elseif(x>=60||x<=89){

System.out.println("B");

}else{

System.out.println("C");

}

}

}

【程序6】   

题目:

输入两个正整数m和n,求其最大公约数和最小公倍数。

   

/**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。

*/

importjava.util.Scanner;

publicclasslianXi06{

publicstaticvoidmain(Stringargs[]){

inta,b;

System.out.println("请输入两个正整数a和b:

");

Scanners=newScanner(System.in);

a=s.nextInt();

b=s.nextInt();

deffcd=newdeff();

intm=cd.deff(a,b);

intn=a*b/m;

System.out.println("它们的最大公约数为:

"+m);

System.out.println("它们的最小公约数为:

"+n);

}

}

classdeff{

publicintdeff(intx,inty){

if(x

inttemp=x;

x=y;

y=temp;

}while(y!

=0){

if(x==y)

returnx;

else{

intr=x%y;

x=y;

y=r;

}

}

returnx;

}

}

【程序7】   

题目:

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

   

importjava.util.Scanner;

publicclasslianXi07{

publicstaticvoidmain(Stringargs[]){

intletters=0;

intspace=0;

intdigit=0;

intother=0;

charc=null;

Scannersc=newScanner(System.in);

System.out.println("请输入一行字符串:

");

c=sc.nextLine();

if(c>='a'&&c<='z'||c>='A'&&c<='Z'){

letters++;

}elseif(c==''){

space++;

}elseif(c>='0'&&c<='9'){

digit++;

}else{

other++;

}

System.out.println(letters++);

System.out.println(space++);

System.out.println(digit++);

System.out.println(other++);

}

}

importjava.util.*;

publicclasslianxi07{

publicstaticvoidmain(String[]args){

intdigital=0;

intcharacter=0;

intother=0;

intblank=0;

    char[]ch=null;

    Scannersc=newScanner(System.in);

    Strings=sc.nextLine();

    ch=s.toCharArray();//此处下面char不兼容>=等

    for(inti=0;i

     if(ch>='0'&&ch<='9'){

      digital++;

     }elseif((ch>='a'&&ch<='z')||(ch>'A'&&ch<='Z')){

      character++;

     }elseif(ch==''){

      blank++;

     }else{

      other++;

     }

     }

    System.out.println("数字个数:

"+digital);

    System.out.println("英文字母个数:

"+character);

    System.out.println("空格个数:

"+blank);

    System.out.println("其他字符个数:

"+other);

}

}

【程序8】   

题目:

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

   

importjava.util.Scanner;

publicclasslianXi08{

publicstaticvoidmain(Stringargs[]){

ints=0;

intt=0;

inti=1;

inta,n;

Scannersc=newScanner(System.in);

System.out.println("请输入a和n:

");

a=sc.nextInt();

n=sc.nextInt();

while(i<=n){

t=t+a;

s=s+t;

a*=10;

++i;

}

System.out.println(s);

}

}

【程序9】   

题目:

一个数如果恰好等于它的因子之和,这个数就称为"完数"。

例如6=1+2+3.编程    找出1000以内的所有完数。

  

 publicclasslianXi09{

publicstaticvoidmain(Stringargs[]){

intm,s,i;

for(m=2;m<1000;m++){

s=0;

for(i=1;i

if((m%i)==0){

s=s+i;

}

if(s==m){

System.out.println("itsfactorsare:

");

for(i=1;i

if(m%i==0){

System.out.println(i);

}

}

}

}

}

}

}

或(上面的有点小问题,多出一个36,下面是对的)

publicclasslianXi09{

publicstaticvoidmain(Stringargs[]){

for(inti=1;i<1000;i++){

intt=0;

for(intj=1;j<=i/2;j++){

if(i%j==0){

t=t+j;

}

}

if(t==i){

System.out.print(i+"");

}

}

}

}

【程序10】   

题目:

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在    第10次落地时,共经过多少米?

第10次反弹多高?

publicclasslianXi10{

publicstaticvoidmain(Stringargs[]){

doublesn=100;

doublehn=sn/2;

intn;

System.out.println("第一次落地共经过路径:

100米");

System.out.println("第一次反弹高度是:

50米");

for(n=2;n<=10;n++){

sn=sn+2*hn;

hn=hn/2;

System.out.println("第"+n+"共经过多少米:

"+sn);

System.out.println("第"+n+"次反弹反弹高度:

"+hn);

}

}

}

【程序11】   

题目:

有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?

都是多少?

   

publicclasslianXi11{

publicstaticvoidmain(Stringargs[]){

intcount=0;

for(intx=1;x<=4;x++){

for(inty=1;y<=4;y++){

for(intz=1;z<=4;z++){

if(x!

=y&&y!

=z&&x!

=z){

count++;

System.out.println(x*100+y*10+z);

}

}

}

}

System.out.println("共有"+count+"个三位数");

}

}

【程序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%提成,从键盘输入当月利润,求应发放奖金总数?

   

importjava.util.Scanner;

publicclasslianXi12{

publicstaticvoidmain(Stringargs[]){

System.out.println("请输入利润金额:

");

Scanners=newScanner(System.in);

doublei=s.nextInt();

doublesum=0;

if(i<=100000){

sum=0.1*i;

}elseif(i>100000&&i<=200000){

sum=0.1*100000+(i-100000)*0.075;

}elseif(i>200000&&i<=400000){

sum=0.1*100000+0.075*100000+(i-200000)*0.05;

}elseif(i>400000&&i<=600000){

sum=0.1*100000+0.075*100000+0.05*200000+(i-400000)*0.03;

}elseif(i>600000&&i<=1000000){

sum=0.1*100000+0.075*100000+0.05*200000+0.03*200000+(i-600000)*0.015;

}elseif(i>1000000){

sum=0.1*100000+0.075*100000+0.05*200000+0.03*200000+0.015*400000+(i-1000000)*0.01;

}

System.out.println(sum);

}

}

【程序13】   

题目:

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

   

publicclasslianXi13{

publicstaticvoidmain(Stringargs[]){

for(inti=1;i<1000000;i++){

if(Math.sqrt(i+100)%1==0){

if(Math.sqrt(i+168)%1==0){

System.out.println(i+"加100是一个完全平方数,再加168又是一个完全平方数");

}

}

}

}

}

【程序15】   

题目:

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

importjava.util.Scanner;

publicclasslianXi15{

publicstaticvoidmain(Stringargs[]){

intx,y,z;

Scanners=newScanner(System.in);

System.out.println("请输入依次三个整数:

");

x=s.nextInt();

y=s.nextInt();

z=s.nextInt();

if(x>y){

inta=x;

x=y;

y=a;

}

if(x>z){

inta=x;

x=z;

z=a;

}if(y>z){

inta=y;

y=z;

z=a;

}

System.out.println("三个数由小到大排列顺序是:

"+x+""+y+""+z);

}

}

   

【程序16】

题目:

输出9*9口诀。

  

publicclasslianXi16{

publicstaticvoidmain(Stringargs[]){

for(inti=1;i<=9;i++){

for(intj=1;j<=i;j++){

System.out.print(j+"*"+i+"="+j*i+"");

if(j*i<10){System.out.print("");

}

}

System.out.println();

}

}

}

  

【程序17】   

题目:

猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个    第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下    的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

 

  publicclasslianXi17{

publicstaticvoidmain(Stringargs[]){

intd1=0;

intd2=1;

intday=9;

while(day>0){

d1=(d2+1)*2;//第一天是第二天数目2倍还多一个

d2=d1;

day--;

}

System.out.println(d1);

}

}

publicclasslianXi17{

publicstaticvoidmain(Stringargs[]){

intd1=0;

intd2=1;

intday=9;

for(inti=1;i<=day;i++){

d1=(d2+1)*2;

d2=d1;

//day--;

}

System.out.println(d1);

}

}

【程序19】   

题目:

打印出如下图案(菱形)   

    *   

  ***   

*****   

*******   

*****   

  ***   

   *   

publicclasslianXi19{

publicstaticvoidmain(String[]args)

{

inti=0;

intj=0;

for(i=1;i<=4;i++)

{

for(intk=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(intk=1;k<=5-i;k++)

System.out.print("");

for(j=1;j<=2*i-3;j++)

System.out.print("*");

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2