zoukankan      html  css  js  c++  java
  • 2017-09-15

    【程序1】   

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

    //这是一个菲波拉契数列问题

    int []a = new int [12];

    int y;

    for(int x=0;x<12;x++) {

    if((x==0)||(x==1)) {

    a[0]=a[1]=1;

    System.out.println(a[0]);

    }else {

    y=x+1;

    a[x]=a[x-2]+a[x-1];

    System.out.println(""+y+"个月兔子的数量="+a[x]);

    }

        }

    【程序2】   

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

    程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。   

    int i,j,k;

    int n=0;

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

    for(j=2;j<i;j++) {

    if(i%j==0) {

    break;

    }

    }

    if(i==j) {

    System.out.println("i="+i);

    n++;

    }

    }

    System.out.println("n="+n);

    【程序3】   

    题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

    int a,n=0;

    int i;

    int j;

    int k;

    for(a=100;a<=999;a++) {

    i=a/100;

    j=a/10%10;

    k=a%10;

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

    System.out.println("a是水仙花数:"+a);

    n++;

    System.out.println("水仙花个数:"+n);

    }

    }

      

    【程序4】   

    题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。   

    程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:   

    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。   

    (2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。   

    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。  

    int i;

    Scanner sc = new Scanner(System.in);

    i = sc.nextInt();

    int j,k = 0;

    int n=0;

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

    if(i%j==0) {

    k=k+j;

    System.out.println("质因数是:"+j);

    }

    }

    if(i==k) {

    System.out.println(i);

    }else {

    System.out.println("它不是完数");

    }

      

    【程序5】   

    题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。   

     int score;

    Scanner sc = new Scanner(System.in);

    {System.out.println("成绩是:");}

    score = sc.nextInt();

    if(score>=60) {

    if((score>=60)&&(score<=89)) {

    System.out.println("B");

    }

    if(score>=90) {

    System.out.println("A");

    }

    }else {

    System.out.println("c");

    }

    【程序6】   

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

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

     int m;

    Scanner sc1 = new Scanner(System.in);

    m=sc1.nextInt();

    int n;

    Scanner sc2 = new Scanner(System.in);

    n=sc2.nextInt();

    int i;

    for(i=n;i>=1;i--) {

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

    System.out.println("最大公约数:"+i);

    i=i*(m/i)*(n/i);

    System.out.println("最小公倍数:"+i);

    break;

    }

    }

    【程序7】   

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

    String str = "Hello, 我的名字是ruanchenxue ,我现在在"

    + "ICSS学习,我是0905班的学生,我们班一共有31个学生";

       

        int letterNum=0;  //英文字母的个数

        int num=0;        //数字个数

        int blankNum=0;   //空格的个数

        int m=0;          //其他

        

      

        for(int i=0;i<str.length();i++) {

           char zhi = str.charAt(i);   //调用charAt(索引)    将索引的值付给zhi;

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

         letterNum++;          

         }else if( (zhi>='0')&&(zhi<='9') )  {

         num++;          

         }else if(zhi==' ') {

         blankNum++;}

         else {

         m++;

         }     

       }

        System.out.println("英文字母的个数"+letterNum);

         System.out.println("数字的个数"+num);

         System.out.println("空格的个数"+blankNum);

         System.out.println("其他"+m);

    【程序8】   

    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。   

     int a;

    Scanner sc = new Scanner(System.in);

    a = sc.nextInt();

    int s=0;

    int n;

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

    s+=a;

    a=11*a;

    }

    System.out.println(s);

    }

    【程序9】   

    题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程     找出1000以内的所有完数。   

    int i,j,k;

    int n=0;

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

    k=0;

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

    if(i%j==0) {

     k=k+j;

    }

    }

    if(i==k) {

    n++;

    System.out.println(i);

    }

    }

    System.out.println(n);

    【程序10】   

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

     double a = 100;

    double s = 0;

    double h = 0;

    for(int n=1;n<=11;n++) {

    a=a/2;

    h=a;

    System.out.println("弹跳高度:"+h);      //11次弹跳的高度

    s+=2*h;

    System.out.println("总路程:"+(s+100));  //11次经过的路程

    }

    }

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

    double s;

    double i;

    Scanner sc = new Scanner (System.in);

    i = sc.nextInt();

    if(i<=10) {

    s=i*0.1;

    System.out.println(s);

    }

    if(i>10&&i<=20) {

    s=10*0.1+(i-10)*0.075;

    System.out.println(s);

    }

    if(i>20&&i<=40) {

    s=10*0.1+10*0.075+(i-20)*0.05;

    System.out.println(s);

    }

    if(i>40&&i<=60) {

    s=10*0.1+10*0.075+20*0.05+(i-40)*0.03;

    System.out.println(s);

    }

    if(i>60&&i<=100) {

    s=10*0.1+10*0.075+20*0.05+20*0.03+(i-60)*0.015;

    System.out.println(s);

    }

    if(i>100) {

    s=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(i-100)*0.01;

    System.out.println(s);

    }

    【程序13】   

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

    int m;

    int n;

    int i;

    for(m=16;m<100;m++) {

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

    if(168==m*m-n*n){

    System.out.println("m是:"+m+" n"+n);

    i=m*m-268;

    System.out.println(i);

    }

    }

    }

    /*按题意循环应该从-100开始(整数包括正整数、负整数、零),这样会多一个满足条件的数-99。

    但是我看到大部分人解这道题目时都把题中的“整数”理解成正整数,我也就随大流了。*/

    【程序15】   

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

    int a,b,c,t;

    Scanner sc1 = new Scanner(System.in);

    a = sc1.nextInt();

    Scanner sc2 = new Scanner(System.in);

    b = sc2.nextInt();

    Scanner sc3 = new Scanner(System.in);

    c = sc3.nextInt();

    // if(a<b) {t=a;a=b;b=t;}     输出时从大到小

    // if(a<c) {t=a;a=c;c=t;}

    // if(b<c) {t=b;b=c;c=t;}

    if(a>b){t=a;a=b;b=t;}      //输出时从小到大

    if(a>c){t=a;a=c;c=t;}

    if(b>c){t=b;b=c;c=t;}

    System.out.println(a+" "+b+" "+c);

    【程序17】   

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

    int i,k = 1,t=0;

    for(i=9;i>0;i--) {

    t = (k+1)*2;

    k = t;

    System.out.println(""+i+""+"还剩下"+k+"桃子");

    }

    System.out.println(k);

    }

    【程序19】   

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

         *     //分为俩个部分

      for(int i=1;i<=5;i++) {   //

    System.out.println();

    for (int space=4;space>=i ;space-- )

    {

    System.out.print(" ");   //空格

    }

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

    System.out.print(" *");

    }

    }

    for(int i=1;i<=5;i++) {    //

    System.out.println();

    for (int space=1;space<=i ;space++ )

    {

    System.out.print(" ");      //空格

    }

    for(int j=5;j>i;j--) {

    System.out.print(" *");  //

    }

    }

    【程序20】   

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

    double []a = new double [21];

    int x;

    double b =0;

    for(x=0;x<=20;x++) {

    if((x==0)) {

    a[0]=1;

    }else if(x==1){

    a[1]=2;

    }else {

    a[x]=a[x-1]+a[x-2];

    b+=a[x-1]/a[x-2];

    System.out.println("b的值"+b);

    }

    }

    【程序27】   

    题目:求100之内的素数   

    //使用除sqrt(n)的方法求出的素数不包括2和3

    int i,j,k;

    int n=0;

    for(i=1;i<100;i++) {

    for(j=2;j<i;j++) {

    if(i%j==0) {

    break;

    }

    }

    if(i==j) {

    System.out.println("i="+i);

    n++;

    }

    }

    System.out.println("n="+n);

    【程序33】  

    题目:打印出杨辉三角形(要求打印出10行如下图)      

                1   

              1    1   

            1    2    1   

          1    3    3    1   

        1    4    6    4    1   

    1    5    10    10    5    1   

    …………

    如何让杨辉三角居中

    int [][]a =new int[6][];

    int i;

    int j;

    for(i=0;i<=6;i++) {

    a[i]=new int[i+1];

    for(j=0;j<=i;j++) {

    if((i==0)||(j==0)||(i==j)) {

    a[i][j]=1;

    }else {

    a[i][j]=a[i-1][j-1]+a[i-1][j];

    }

    System.out.print(a[i][j]+" ");

    }

    System.out.println();

    }

    【程序34】   

    题目:输入3个数a,b,c,按大小顺序输出。   

    int a,b,c,t;

    Scanner sc1 = new Scanner(System.in);

    a = sc1.nextInt();

    Scanner sc2 = new Scanner(System.in);

    b = sc2.nextInt();

    Scanner sc3 = new Scanner(System.in);

    c = sc3.nextInt();

    if(a<b) {t=a;a=b;b=t;}

    if(a<c) {t=a;a=c;c=t;}

    if(b<c) {t=b;b=c;c=t;}

    System.out.println(a+" "+b+" "+c);

    【程序45】   

    题目:判断一个整数能被几个9整除   

    //题目错了吧 能被9整除的就不是素数了!所以改成整数了。

    int i;

    int m=0;

    Scanner sc = new Scanner(System.in);

    i = sc.nextInt();

    for(int n=1;n<=10;n++) {

    if(i%9==0) {

    m++;

    i=i/9;

    }

    }

    System.out.println(m);

  • 相关阅读:
    032 Gradle 下载的依赖jar包在哪?
    031 can't rename root module,Android Studio修改项目名称
    030 Cannot resolve symbol'R' 问题解决汇总大全
    029 Android Studio层级显示目录文件
    028 You are about to commit CRLF line separators to the Git repository.It is recommended to set the core. autocrlf Git attribute to true to avoid line separator issues If you choose Fix and Comit ,
    027 【Android基础知识】Android Studio 编译慢及 Adb connection Error:远程主机强迫关闭了一个现有的连接
    026 Android Studio 和Gradle版版本对应关系
    025 Cause: org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierIm
    024 Android Studio上传项目到Github 最全记录
    023 解决AndroidStudio下载gradle慢的问题
  • 原文地址:https://www.cnblogs.com/r123/p/7562591.html
Copyright © 2011-2022 走看看