内蒙古大学计算机2015年复试真题解答

一.斐波那契数列。

public class FBN1 {

public static void main(String[] args) {

  int a=1;

  int b=1;

  int c=0;

  System.out.println("斐波那契数列前20项和为:");

  System.out.print(a+"\t"+b+"\t");

  for(int i=1;i<=18;i++) {

     c=a+b;

     a=b;

     b=c;

     System.out.print(c+"\t");

     if((i+2)%5==0)

        System.out.println();

  }

}

}

数组:

public class itcase_02 {

public static void main(String[] args) {

  int [] arr=new int[20];

  arr[0]=arr[1]=1;

  for(int i=2;i<arr.length;i++) {

     arr[i]=arr[i-1]+arr[i-2];

  }

  System.out.print("斐波那契数列前20项和为:");

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

     if(i%5==0)

        System.out.println();

     System.out.print(arr[i]+"\t");

  }

}

}

递归:

public class itcase_02 {

public static void main(String[]
args) {

  System.out.println("斐波那契数列的前20项和:");

  for(int j=1;j<=20;j++) {

     System.out.print(Fibo(j)+"\t");

     if(j%5==0)

        System.out.println();

  }

}

public static int Fibo(int j) {

  if(j==1||j==2) {

     return 1;

  }else {

     return Fibo(j-1)+Fibo(j-2);

  }

}

}

二.字符串中统计数字个数并输出。

import
java.util.Scanner;

public class StringTest {

public static void main(String[] args) {

  Scanner sc=new Scanner(System.in);

  System.out.println("请输入一个字符串:");

  String s=sc.nextLine();

  int small=0;

  int big=0;

  int number=0;

  int y=0;

  char[] chs=s.toCharArray();

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

     if(chs[i]>='0'&&chs[i]<='9') {

        number++;

     }else if(chs[i]>='a'&&chs[i]<='z') {

        small++;

     }else if(chs[i]>='A'&&chs[i]<='Z') {

        big++;

     }else

        y=chs.length-small-big-number;

  }

  System.out.println("大写字母为:"+big+"小写字母为:"+small+"数字为:"+number+"其他字符为"+y);

}

}

public class LX2 {

public static void main(String[] args) {

  String s="Hello123World";

  int bigCount=0;

  int smallCount=0;

  int numberCount=0;

  for(int x=0;x<s.length();x++) {

     char ch=s.charAt(x);

     if(ch>='a'&&ch<='z') {

        smallCount++;

     }else if(ch>='A'&&ch<='Z') {

        bigCount++;

     }else {

        numberCount++;

     }

  }

  System.out.println("小写字母有"+smallCount+"个");

  System.out.println("大写字母有"+bigCount+"个");

  System.out.println("数字有"+numberCount+"个");

}

}

方法二:

import
java.util.Scanner;

public class ArrayDemo {

public static void main(String[] args) {

  int bigCount=0;

  int smallCount=0;

  int numberCount=0;

  Scanner sc=new Scanner(System.in);

  System.out.println("请输入一个串:");

  String line=sc.nextLine();

  char [] chs=line.toCharArray();

  for(int x=0;x<chs.length;x++) {

     char ch=chs[x];

     if(Character.isUpperCase(ch)) {

        bigCount++;

     }else if(Character.isLowerCase(ch)) {

        smallCount++;

     }else if(Character.isDigit(ch)) {

        numberCount++;

     }

  }

  System.out.println("大写字母:"+bigCount+"个");

  System.out.println("小写字母:"+smallCount+"个");

  System.out.println("数字:"+numberCount+"个");

}

}

三. 16进制数转换成8进制 要求输入输出是字符串。

import
java.util.Scanner;

public class ZhuanHuan {

public static void main(String[] args) {

  Scanner sc=new Scanner(System.in);

  System.out.println("请输入16进制数字:");

  String s=sc.nextLine();

  int z=Integer.parseInt(s,10);

  String y=Integer.toOctalString(z);

  System.out.println(y);

}

}

四.给定一组数 前后分成两半 各有序,要求排序输出。

import
java.util.Scanner;

public class QuanpaiXu {

public static void main(String[] args) {

  Scanner sc=new Scanner(System.in);

  System.out.println("输入数组的长度:");

  int n=sc.nextInt();

  int [] a=new int[n];

  System.out.println("输入数组:");

  for(int i=0;i<n;i++) {

     a[i]=sc.nextInt();

  }

  paixu(a);

  System.out.println("输出排序后的数组:");

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

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

  }

}

public static void paixu(int[] a) {

  int index=0;

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

     if(a[i]>a[i+1]) {

        index=i+1;

        break;

     }

  }

  int i=0;

  int j=0;

  while(i<index&&index<a.length) {

     if(a[i]>a[index]) {

        int temp=a[i];

        a[i]=a[index];

        a[index]=temp;

        for(j=index;j>=i+1;j--) {

            if(a[j]<a[j-1]) {

               int temp1=a[j];

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

               a[j-1]=temp1;

            }

        }

        i++;

        index++;

     }else {

        i++;

     }

  }

}

}

五. 迷宫问题 找最短的路径。

请文明使用资源,如果发现有代码错误或者不懂欢迎留言评论。

发布了10 篇原创文章 · 获赞 0 · 访问量 192

猜你喜欢

转载自blog.csdn.net/gj55678/article/details/105340380