您的位置:首页 > 理论基础

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

2020-04-22 01:52 901 查看

一.斐波那契数列。

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
;

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++;

}

}

}

}

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

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

  • 点赞
  • 收藏
  • 分享
  • 文章举报
郭壮实 发布了11 篇原创文章 · 获赞 0 · 访问量 506 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: