算法题目

50道编程算法题

2018-08-01  本文已影响0人  神坛下的我

/**

*/

public class BianCheng_1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("第1个月的兔子对数: 1");
        System.out.println("第2个月的兔子对数: 1");
        int f1 = 1, f2 = 1, f, M=24;
        for(int i=3; i<=M; i++) {
        f = f2;
        f2 = f1 + f2;
        f1 = f;
        System.out.println("第" + i +"个月的兔子对数: "+f2);
        }
    }

}

/**

*/

public class BianCheng_2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
         int count = 0;
         for(int i=101; i<200; i+=2){
             boolean b = false;
             for(int j=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);
    }

}

/**

*/

public class BianCheng_3 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
         int b1, b2, b3; 
         for(int m=101; m<1000; m++) { 
             b3 = m / 100;
             b2 = m % 100 / 10;
             b1 = m %10;
             if((b3*b3*b3 + b2*b2*b2 + b1*b1*b1) == m) {
                 System.out.println(m+"是一个水仙花数");}
         }

    }
}

import java.util.Scanner;

/**

*/

public class BianCheng_4 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        @SuppressWarnings("resource")
        Scanner s = new Scanner(System.in);
        System.out.print( "请键入一个正整数:"); 
        int n = s.nextInt();
        int k=2; 
        System.out.print(n + "=" );
        while(k <= n) {
        if(k == n) {System.out.println(n);break;}
        else if( n % k == 0) {System.out.print(k + "*");n = n / k; } 
        else k++;
        }
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_5 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int x;
        char grade;
        @SuppressWarnings("resource")
        Scanner s = new Scanner(System.in);
        System.out.print( "请输入一个成绩: "); 
        x = s.nextInt();
        grade = x >= 90 ? 'A': x >= 60 ? 'B':'C';
        System.out.println("等级为:"+grade);
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_6 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a ,b,m;
        @SuppressWarnings("resource")
        Scanner s = new Scanner(System.in);
        System.out.print( "键入一个整数: "); 
        a = s.nextInt();
        System.out.print( "再键入一个整数: "); 
        b = s.nextInt();
        BianCheng_6_fu cd = new BianCheng_6_fu();
        m = cd.deff(a,b);
        int n = a * b / m;
        System.out.println("最大公约数: " + m);
        System.out.println("最小公倍数: " + n);
    }

}
public class BianCheng_6_fu {
    public int deff(int x, int y) {
        int t;
        if(x < y) {
        t = x;
        x = y;
         y = t;
        }
        while(y != 0) {
        if(x == y) return x;
        else{
        int k = x % y;
        x = y;
        y = k;
        }
        }
        return x;
    }
}

import java.util.Scanner;

/**

*/

public class BianCheng_7 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int digital = 0;
        int character = 0;
        int other = 0;
        int blank = 0;
        char[] ch = null;
        @SuppressWarnings("resource")
        Scanner sc = new Scanner(System.in);
        System.out.print("请您随便输入一串字符:");
        String s = sc.nextLine();
        ch = s.toCharArray();
        for(int i=0; i<ch.length; i++) {
            if(ch[i]>='0'&& ch[i]<='9') {
                digital ++;
            } else if((ch[i] >= 'a' && ch[i] <= 'z') || ch[i] > 'A' && ch[i] <= 'Z') {
                character ++;
            } else if(ch[i] == ' ') {
                blank ++;
            } else {
                other ++;
            }
        }
        System.out.println("数字个数: " + digital);
        System.out.println("英文字母个数: " + character);
        System.out.println("空格个数: " + blank);
        System.out.println("其他字符个数:" + other );
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_8 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        long a , b = 0, sum = 0;
        @SuppressWarnings("resource")
        Scanner s = new Scanner(System.in);
        System.out.print("输入数字a的值: ");
        a = s.nextInt();
        System.out.print("输入相加的项数:");
        int n = s.nextInt();
        int i = 0;
        while(i < n) {
         b = b + a;
        sum = sum + b;
         a = a * 10;
        ++ i;
        }
         System.out.println("数字相加为:"+sum);
    }

}

/**

*/

public class BianCheng_9 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("1到1000的完数有: ");
        for(int i=1; i<1000; i++) {
        int t = 0;
         for(int j=1; j<= i/2; j++) {
        if(i % j == 0) {
         t = t + j;
        }
         }
        if(t == i) {
         System.out.print(i + "     ");}
        }

    }
}

/**

*/

public class BianCheng_10 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        double h = 100,s = 100;
        for(int i=1; i<10; i++) {
        s = s + h;
         h = h / 2;
        }
         System.out.println("经过路程:" + s);
        System.out.println("反弹高度:" + h / 2);
    }

}

/**

*/

public class BianCheng_11 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int count = 0;
        for(int x=1; x<5; x++) {
         for(int y=1; y<5; y++) {
         for(int z=1; z<5; z++) {
         if(x != y && y != z && x != z) {
         count ++;
         System.out.println(x*100 + y*10 + z );
         }
         }
         }
         }
         System.out.println("共有" + count + "个三位数");
        }
    }

import java.util.Scanner;

/**

*/

public class BianCheng_12 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        double x = 0,y = 0;
             System.out.print("输入当月利润(万):");
             @SuppressWarnings("resource")
            Scanner s = new Scanner(System.in);
             x = s.nextInt();
            if(x > 0 && x <= 10) {
            y = x * 0.1;
             } else if(x > 10 && x <= 20) {
             y = 10 * 0.1 + (x - 10) * 0.075;
            } else if(x > 20 && x <= 40) {
            y = 10 * 0.1 + 10 * 0.075 + (x - 20) * 0.05;
        } else if(x > 40 && x <= 60) {
             y = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (x - 40) * 0.03;
        } else if(x > 60 && x <= 100) {
            y = 20 * 0.175 + 20 * 0.05 + 20 * 0.03 + (x - 60) * 0.015; 
             } else if(x > 100) {
            y = 20 * 0.175 + 40 * 0.08 + 40 * 0.015 + (x - 100) * 0.01;
            }
            short a = (short) y;
            System.out.println("应该提取的奖金是 " + a + "万");
        }

}

/**

*/

public class BianCheng_13 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        for(int x =-99; x<100000; x++) {
             if(Math.sqrt(x+100) % 1 == 0) {
             if(Math.sqrt(x+268) % 1 == 0) {
                 System.out.println(x + "加100是一个完全平方数,再加168又是一个完全平方数");
                }
             }
        }
    }
}

import java.util.Scanner;

/**

*/

public class BianCheng_14 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
         int year, month, day;
          int days = 0;
          int d = 0;
          int e;
          input fymd = new input();
          do {
              e = 0;
          System.out.print("输入年:");
         year =fymd.input();
          System.out.print("输入月:");
          month = fymd.input();
          System.out.print("输入天:");
         day = fymd.input();
          if (year < 0 || month < 0 || month > 12 || day < 0 || day > 31) {
          System.out.println("输入错误,请重新输入!");
          e=1 ; 
          }
          }while( e==1);
          for (int i=1; i <month; i++) {
          switch (i) {
          case 1:
          case 3:
          case 5:
          case 7:
          case 8:
          case 10:
          case 12:
          days = 31;
          break;
 case 4:
          case 6:
          case 9:
          case 11:
          days = 30;
          break;
 case 2:
          if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
          days = 29;
          } else {
          days = 28;
          }
 break;
 }
 d += days;
          }
 System.out.println(year + "-" + month + "-" + day + "是这年的第" + (d+day) + "天。");
         }
         }
         class input{
         public int input() {
          int value = 0;
          Scanner s = new Scanner(System.in);
          value = s.nextInt();
          return value;
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_15 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        myinput fnc = new myinput();
         int x=0, y=0, z=0;
         System.out.print("输入第一个数字:");
         x = fnc.input();
         System.out.print("输入第二个数字:");
         y = fnc.input();
         System.out.print("输入第三个数字:");
         z = fnc.input();
 if(x > y) {
         int t = x;
         x = y;
         y = t;
         }
 if(x > z) {
         int t = x;
         x = z;
         z = t;
         }
 if(y > z) {
         int t = y;
         y = z;
         z = t;
         }
 System.out.println( "三个数字由小到大排列为: "+x + " " + y + " " + z);
        }
        }
        class myinput{
        public int input() {
         int value = 0;
         Scanner s = new Scanner(System.in);
         value = s.nextInt();
         return value;
    }

}

/**

*/

public class BianCheng_16 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        for(int i=1; i<10; i++) {
             for(int j=1; j<=i; j++) {
                 System.out.print(j + "*" + i + "=" + j*i + "    " );
             if(j*i<10)
             {System.out.print(" ");}
            }
             System.out.println();

        }
    }
}

/**

*/

public class BianCheng_17 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
         int x = 1;
          for(int i=2; i<=10; i++) {
          x = (x+1)*2;
          }
 System.out.println("猴子第一天摘了 " + x + " 个桃子");
    }

}

/**

*/

public class BianCheng_18 {
    static char[] m = { 'a', 'b', 'c' };
    static char[] n = { 'x', 'y', 'z' };
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        for (int i = 0; i < m.length; i++) {
             for (int j = 0; j < n.length; j++) {
                 if (m[i] == 'a' && n[j] == 'x') {
                     continue;
                 } else if (m[i] == 'a' && n[j] == 'y') {
                    continue;
                 } else if ((m[i] == 'c' && n[j] == 'x') || (m[i] == 'c' && n[j] == 'z')) {
                    continue;
                 } else if ((m[i] == 'b' && n[j] == 'z') || (m[i] == 'b' && n[j] == 'y')) {
                    continue;
                 } else{
                    System.out.println(m[i] + " vs " + n[j]);
                    }
                 }
            
        }
    }
}

/**





*

*/

public class BianCheng_19 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
         int H = 7, W = 7;//高和宽必须是相等的奇数
         for(int i=0; i<(H+1) / 2; i++) {
          for(int j=0; j<W/2-i; j++) {
          System.out.print(" ");
         }
 for(int k=1; k<(i+1)*2; k++) {
          System.out.print('*');
          }
 System.out.println();
         }
 for(int i=1; i<=H/2; i++) {
         for(int j=1; j<=i; j++) {
         System.out.print(" ");
         }
for(int k=1; k<=W-2*i; k++) {
          System.out.print('*');
         }
System.out.println();}
    }

}

/**

*/

public class BianCheng_20 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
         int x = 2, y = 1, t;
          double sum = 0;
          for(int i=1; i<=20; i++) {
         sum = sum + (double)x / y;
         t = y;
        y = x;
        x = y + t;
         }
         System.out.println("前20项相加之和是: " + (int)sum);
    }

}

/**

*/

public class BianCheng_21 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        long sum = 0; 
         long fac = 1;
         for(int i=1; i<=20; i++) {
         fac = fac * i;
         sum += fac;
        }
 System.out.println(sum);
    }

}

/**

*/

public class BianCheng_22 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int n = 5;
         rec fr = new rec();
         System.out.println(n+"! = "+fr.rec(n));
        }
        }
        class rec{
        public long rec(int n) {
         long value = 0 ;
         if(n ==1 ) {
         value = 1;
        } else{
 value = n * rec(n-1);
         }
 return value;
    }

}

/**

*/

public class BianCheng_23 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int age = 10;
        for(int i=2; i<=5; i++) {
        age =age+2;
         }
 System.out.println(age);
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_24 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
         System.out.print("请输入一个正整数:");
         long a = s.nextLong();
         String ss = Long.toString(a);
         char[] ch = ss.toCharArray();
         int j=ch.length;
         System.out.println(a + "是一个"+ j +"位数。");
         System.out.print("按逆序输出是:");
         for(int i=j-1; i>=0; i--) {
         System.out.print(ch[i]);
         }
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_24 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
         System.out.print("请输入一个正整数:");
         long a = s.nextLong();
         String ss = Long.toString(a);
         char[] ch = ss.toCharArray();
         int j=ch.length;
         System.out.println(a + "是一个"+ j +"位数。");
         System.out.print("按逆序输出是:");
         for(int i=j-1; i>=0; i--) {
         System.out.print(ch[i]);
         }
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_26 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        getChar tw = new getChar();
         System.out.println("请输入星期的第一个大写字母:");
         char ch = tw.getChar();
         switch(ch) {
         case 'M': 
         System.out.println("Monday");
         break;
 case 'W': 
         System.out.println("Wednesday");
         break;
 case 'F':
         System.out.println("Friday");
         break;
 case 'T': {
         System.out.println("请输入星期的第二个字母:");
         char ch2 = tw.getChar();
         if(ch2 == 'U') {System.out.println("Tuesday"); }
         else if(ch2 == 'H') {System.out.println("Thursday"); }
         else {System.out.println("无此写法!");}}; 
         break;
 case 'S': {
         System.out.println("请输入星期的第二个字母:");
         char ch2 = tw.getChar();
         if(ch2 == 'U') {System.out.println("Sunday"); }
         else if(ch2 == 'A') {System.out.println("Saturday"); }
         else {System.out.println("无此写法!");}};
         break;
        default:System.out.println("无此写法!");}}
        }

        class getChar{
        public char getChar() {
         Scanner s = new Scanner(System.in);
         String str = s.nextLine();
         char ch = str.charAt(0);
         if(ch<'A' || ch>'Z') {
         System.out.println("输入错误,请重新输入");
         ch=getChar();
         }
 return ch;
    }

}

/**

*/

public class BianCheng_27 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //使用除sqrt(n)的方法求出的素数不包括2和3
        boolean b =false;
         System.out.print(2 + " ");
         System.out.print(3 + " ");
         for(int i=3; i<100; i+=2) {
         for(int j=2; j<=Math.sqrt(i); j++) {
         if(i % j == 0) {b = false;
         break;
 } else{b = true;}
         }
 if(b == true) {System.out.print(i + " ");}}
    }

}
//该程序使用除1位素数得2位方法,运行效率高通用性差。
//public class lianxi27a {
//public static void main(String[] args) {
//    int[] a = new int[]{2, 3, 5, 7};
//   for(int j=0; j<4; j++)System.out.print(a[j] + " ");
//    boolean b =false;
//    for(int i=11; i<100; i+=2) {
//     for(int j=0; j<4; j++) {
//      if(i % a[j] == 0) {b = false;
//                      break;
//       } else{b = true;}
//     }
//   if(b == true) {System.out.print(i + " ");}
//    }
//   }
//}

import java.util.Scanner;

/**

*/

public class BianCheng_28 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
         int[] a = new int[10];
         System.out.println("请输入10个整数(以空格隔开):");
         for(int i=0; i<10; i++) {
         a[i] = s.nextInt();
         }
 for(int i=0; i<10; i++) {
         for(int j=i+1; j<10; j++) {
         if(a[i] > a[j]) {
         int t = a[i];
         a[i] = a[j];
         a[j] = t;
        }
 }
 }
 for(int i=0; i<10; i++) {
         System.out.print(a[i] + " ");}
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_29 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
         int[][] a = new int[3][3];
        System.out.println("请输入9个整数:");
         for(int i=0; i<3; i++) {
         for(int j=0; j<3; j++) {
         a[i][j] = s.nextInt();
         }
 }
 System.out.println("输入的3 * 3 矩阵是:");
         for(int i=0; i<3; i++) {
         for(int j=0; j<3; j++) {
         System.out.print(a[i][j] + " ");
        }
 System.out.println();
         }
 int sum = 0;
         for(int i=0; i<3; i++) {
         for(int j=0; j<3; j++) {
         if(i == j) {
         sum += a[i][j];
        }
 }
 }
 System.out.println("对角线之和是:" + sum);
    }   

}

import java.util.Scanner;

/**

*/

public class BianCheng_30 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //此程序不好,没有使用折半查找插入
        int[] a = new int[]{1, 2, 6, 14, 25, 36, 37,55};
         int[] b = new int[a.length+1];
         int t1 =0, t2 = 0;
 int i =0;
         Scanner s= new Scanner(System.in);
         System.out.print("请输入一个整数:");
         int num = s.nextInt();
         if(num >= a[a.length-1]) {
         b[b.length-1] = num;
         for(i=0; i<a.length; i++) {
             b[i] = a[i];}
        } else {
         for(i=0; i<a.length; i++) {
         if(num >= a[i]) {
         b[i] = a[i];
         } else {
         b[i] = num;
         break;
 }
}
 for(int j=i+1; j<b.length; j++) {
         b[j] = a[j-1];
         }
 }
 for (i = 0; i < b.length; i++) {
         System.out.print(b[i] + " ");}
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_31 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
         int a[] = new int[20];
        System.out.println("请输入多个正整数(输入-1表示结束):");
         int i=0,j;
         do{
 a[i]=s.nextInt();
         i++;
         }while (a[i-1]!=-1);
         System.out.println("你输入的数组为:");
         for( j=0; j<i-1; j++) {
         System.out.print(a[j]+"   ");
        }
         System.out.println("\n数组逆序输出为:");
         for( j=i-2; j>=0; j=j-1) {
         System.out.print(a[j]+"   ");
        }
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_32 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
     System.out.print("请输入一个7位以上的正整数:");
         long a = s.nextLong();
         String ss = Long.toString(a);
         char[] ch = ss.toCharArray();
         int j=ch.length;
     if (j<7){System.out.println("输入错误!");}
         else {
 System.out.println("截取从右端开始的4~7位是:"+ch[j-7]+ch[j-6]+ch[j-5]+ch[j-4]);}
    }

}

/**

*/

public class BianCheng_33 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[][] a = new int[10][10];
         for(int i=0; i<10; i++) {
         a[i][i] = 1;
         a[i][0] = 1;
        }
 for(int i=2; i<10; i++) {
         for(int j=1; j<i; j++) {
         a[i][j] = a[i-1][j-1] + a[i-1][j];
        }
 }
 for(int i=0; i<10; i++) {
         for(int k=0; k<2*(10-i)-1; k++) {
         System.out.print(" ");
         }
 for(int j=0; j<=i; j++) {
         System.out.print(a[i][j] + "   ");
         }
System.out.println();}
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_34 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
     System.out.println("请输入3个整数:");
         int a = s.nextInt();
         int b = s.nextInt();
     int c = s.nextInt();
        if(a < b) {
        int t = a;
         a = b;
         b = t;
         }
 if(a < c) {
         int t = a;
         a = c;
         c = t;
         }
 if(b < c) {
     int t = b;
         b = c;
         c = t;
         }
 System.out.println("从大到小的顺序输出:");
 System.out.println(a + " " + b + " " + c);
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_35 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int N = 8;
         int[] a = new int [N];
         Scanner s = new Scanner(System.in);
         int idx1 = 0, idx2 = 0;
         System.out.println("请输入8个整数:");
         for(int i=0; i<N; i++) {
         a[i] = s.nextInt();
        }
         System.out.println("你输入的数组为:");
         for(int i=0; i<N; i++) {
         System.out.print(a[i] + " ");
         }
 int max =a[0], min = a[0];
         for(int i=0; i<N; i++) {
         if(a[i] > max) {
         max = a[i];
         idx1 = i;
         } 
 if(a[i] < min) {
         min = a[i];
         idx2 = i;
        }
 } 
 if(idx1 != 0) {
         int temp = a[0];
         a[0] = a[idx1];
         a[idx1] = temp;
         }
 if(idx2 != N-1) {
         int temp = a[N-1];
         a[N-1] = a[idx2];
     a[idx2] = temp;
         }
 System.out.println("\n交换后的数组为:");
         for(int i=0; i<N; i++) {
         System.out.print(a[i] + " ");}
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_36 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int N =10;
         int[] a = new int[N];
         Scanner s = new Scanner(System.in);
         System.out.println("请输入10个整数:");
         for(int i=0; i<N; i++) {
         a[i] = s.nextInt();
        }
System.out.print("你输入的数组为:");
         for(int i=0; i<N; i++) {
        System.out.print(a[i] + " ");
         }
 System.out.print("\n请输入向后移动的位数:");
         int m = s.nextInt();
         int[] b = new int[m];
         for(int i=0; i<m; i++) {
         b[i] = a[N-m+i];
         }
 for(int i=N-1; i>=m; i--) {
         a[i] = a[i-m];
         }
 for(int i=0; i<m; i++) {
         a[i] = b[i];
         }
        System.out.print("位移后的数组是:");
         for(int i=0; i<N; i++) {
         System.out.print(a[i] + " ");}
    }   

}

import java.util.Scanner;

/**

*/

public class BianCheng_37 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
         System.out.print("请输入排成一圈的人数:");
     int n = s.nextInt();
         boolean[] arr = new boolean[n];
         for(int i=0; i<arr.length; i++) {
        arr[i] = true;
         }
 int leftCount = n;
         int countNum = 0;
         int index = 0;
         while(leftCount > 1) {
         if(arr[index] == true) {
        countNum ++; 
         if(countNum == 3) {
         countNum =0;
         arr[index] = false;
        leftCount --;
         }
 }
 index ++;
         if(index == n) {
         index = 0;
        }
 }
 for(int i=0; i<n; i++) {
         if(arr[i] == true) {
         System.out.println("原排在第"+(i+1)+"位的人留下了。");}}
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_38 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
         System.out.println("请输入一个字符串:");
    String str = s.nextLine();
     System.out.println("字符串的长度是:"+str.length());
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_39 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //没有利用指针函数
        Scanner s = new Scanner(System.in);
         System.out.print("请输入一个正整数 n= ");
         int n = s.nextInt();
         System.out.println("相应数列的和为:" + sum(n));}
        public static double sum(int n) {
         double res = 0;
         if(n % 2 == 0) {
        for(int i=2; i<=n; i+=2) {
        res += (double)1 / i;} 
        } else {
         for(int i=1; i<=n; i+=2) {
         res += (double)1 / i ;
        }
 }
 return res;}

}

/**

*/

public class BianCheng_40 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int N=5;
         String temp = null;
         String[] s = new String[N];
        s[0] = "matter";
         s[1] = "state";
         s[2] = "solid";
         s[3] = "liquid";
         s[4] = "gas";
         for(int i=0; i<N; i++) {
         for(int j=i+1; j<N; j++) {
         if(compare(s[i], s[j]) == false) {
         temp = s[i];
         s[i] = s[j];
         s[j] = temp;
        }
 }
 }
 for(int i=0; i<N; i++) {
         System.out.println(s[i]);}
        }
        static boolean compare(String s1, String s2) {
         boolean result = true;
         for(int i=0; i<s1.length() && i<s2.length(); i++) {
         if(s1.charAt(i) > s2.charAt(i)) {
         result = false;
     break;
 } else if(s1.charAt(i) <s2.charAt(i)) {
        result = true;
         break;
} else {
         if(s1.length() < s2.length()) {
         result = true;
         } else {
         result = false;
        }
 }
}
 return result;}

}

/**

*/

public class BianCheng_41 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int i,m,j=0,k,count; 
        for(i=4;i<10000;i+=4) 
         { count=0; 
         m=i; 
         for(k=0;k<5;k++) 
         { 
 j=i/4*5+1; 
         i=j; 
         if(j%4==0) 
         count++; 
         else break; 
        } 
 i=m; 
        if(count==4) 
        {System.out.println("原有桃子 "+j+" 个"); 
        break;} 
        }
    }

}

/**

*/

public class BianCheng_42 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a=809,b,i;
        for(i=10;i<13;i++)
        {b=i*a ;
        if(8*i<100&&9*i>=100)
        System.out.println ("809*"+i+"="+"800*"+i+"+"+"9*"+i+"="+b);}
    }

}

/**

*/

public class BianCheng_43 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int sum=4;
        int j;
        System.out.println("组成1位数是 "+sum+" 个");
        sum=sum*7;
        System.out.println("组成2位数是 "+sum+" 个");
        for(j=3;j<=9;j++){
        sum=sum*8; 
        System.out.println("组成"+j+"位数是 "+sum+" 个");
        }
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_44 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
        int n,i;
        do{
         System.out.print("请输入一个大于等于6的偶数:");
         n = s.nextInt();
         } while(n<6||n%2!=0); //判断输入是否是>=6偶数,不是,重新输入
        fun fc = new fun();
         for(i=2;i<=n/2;i++){
         if((fc.fun(i))==1&&(fc.fun(n-i)==1)) 
         {int j=n-i;
         System.out.println(n+" = "+i+" + "+j);} //输出所有可能的素数对}
        }
        }
    }
    
        class fun{
            public int fun(int a){ //判断是否是素数的函数
                int i,flag=0;
        if(a==3){flag=1;return(flag);}
        for(i=2;i<=Math.sqrt(a);i++){
         if(a%i==0) {flag=0;break;}
         else {flag=1;}}
        return flag;//不是素数,返回0,是素数,返回1
        }}

        //jiefa 2
//      import java.util.*;
//      public class lianxi44 {
//      public static void main(String[] args) {
//      Scanner s = new Scanner(System.in);
//      int n;
//      do{
//           System.out.print("请输入一个大于等于6的偶数:");
//           n = s.nextInt();
//          } while(n<6||n%2!=0);   //判断输入是否是>=6偶数,不是,重新输入
//          for(int i=3;i<=n/2;i+=2){
//          if(fun(i)&&fun(n-i)) {
//            System.out.println(n+" = "+i+" + "+(n-i));
//            } //输出所有可能的素数对
//         }
//      }
//      static boolean fun (int a){    //判断是否是素数的函数
//      boolean flag=false;
//      if(a==3){flag=true;return(flag);}
//      for(int i=2;i<=Math.sqrt(a);i++){
//         if(a%i==0) {flag=false;break;}
//            else flag=true;}
//      return (flag) ;
//      }
//      }

import java.util.Scanner;

/**

*/

public class BianCheng_45 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
         System.out.print("请输入一个整数:");
         int num = s.nextInt();
        int tmp = num;
         int count = 0; 
         for(int i = 0 ; tmp%9 == 0 ;){
         tmp = tmp/9;
         count ++;
        }
 System.out.println(num+" 能够被 "+count+" 个9整除。");
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_46 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
         System.out.print("请输入一个字符串:");
         String str1 = s.nextLine();
         System.out.print("请再输入一个字符串:");
         String str2 = s.nextLine();
         String str = str1+str2;
         System.out.println("连接后的字符串是:"+str);
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_47 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //This programing like having a bug about the System.in .
        Scanner s = new Scanner(System.in);
        int n=1,num;
        while(n<=7){
         do{
System.out.print("请输入一个1--50之间的整数:");
         num= s.nextInt();
         }while(num<1||num>50);
         for(int i=1;i<=num;i++)
         {System.out.print("*");
         }
        System.out.println();
        n ++;
        }
    }

}

import java.util.Scanner;

/**

*/

public class BianChneg_48 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
        int num=0,temp;
        do{
         System.out.print("请输入一个4位正整数:");
         num = s.nextInt();
         }while (num<1000||num>9999); 
        int a[]=new int[4]; 
        a[0] = num/1000; //取千位的数字 
        a[1] = (num/100)%10; //取百位的数字 
        a[2] = (num/10)%10; //取十位的数字 
        a[3] = num%10; //取个位的数字 
        for(int j=0;j<4;j++) 
        { 
        a[j]+=5; 
        a[j]%=10; 
        } 
        for(int j=0;j<=1;j++) 
        { 
 temp = a[j]; 
         a[j] = a[3-j]; 
         a[3-j] =temp; 
         } 
        System.out.print("加密后的数字为:"); 
        for(int j=0;j<4;j++) 
        System.out.print(a[j]);
    }

}

import java.util.Scanner;

/**

*/

public class BianCheng_49 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s = new Scanner(System.in);
         System.out.print("请输入字符串:");
         String str1 = s.nextLine();
         System.out.print("请输入子串:");
         String str2 = s.nextLine();
        int count=0; 
        if(str1.equals("")||str2.equals("")) 
         { 
 System.out.println("你没有输入字符串或子串,无法比较!"); 
         System.exit(0); 
        } 
        else 
 { 
 for(int i=0;i<=str1.length()-str2.length();i++) 
        { 
 if(str2.equals(str1.substring(i, str2.length()+i))) 
         //这种比法有问题,会把"aaa"看成有2个"aa"子串。 
 count++; 
         } 
        System.out.println("子串在字符串中出现: "+count+" 次"); 
        }
    }

}

/**

*/

public class BianCheng_50 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner ss = new Scanner(System.in);
           String [][] a = new String[5][6];
           for(int i=1; i<6; i++) {
            System.out.print("请输入第"+i+"个学生的学号:");
            a[i-1][0] = ss.nextLine();
            System.out.print("请输入第"+i+"个学生的姓名:");
            a[i-1][1] = ss.nextLine();
            for(int j=1; j<4; j++) {
               System.out.print("请输入该学生的第"+j+"个成绩:");
               a[i-1][j+1] = ss.nextLine();
               }
        System.out.println("\n");
           }
        //以下计算平均分
        float avg;
        int sum;
        for(int i=0; i<5; i++) {
        sum=0;
           for(int j=2; j<5; j++) {
           sum=sum+ Integer.parseInt(a[i][j]);
              }
           avg= (float)sum/3;
           a[i][5]=String.valueOf(avg);
        }
        //以下写磁盘文件 
        String s1; 
        try { 
            File f = new File("C:\\stud"); 
            if(f.exists()){ 
              System.out.println("文件存在"); 
              }else{ 
                 System.out.println("文件不存在,正在创建文件"); 
                  f.createNewFile();//不存在则创建 
                } 
        BufferedWriter output = new BufferedWriter(new FileWriter(f)); 
        for(int i=0; i<5; i++) {
        for(int j=0; j<6; j++) {
           s1=a[i][j]+"\r\n";
           output.write(s1);    
            }
        }
        output.close(); 
        System.out.println("数据已写入c盘文件stud中!");
           } catch (Exception e) { 
             e.printStackTrace(); 
             }
    }

}
上一篇 下一篇

猜你喜欢

热点阅读