




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
联信永益笔试题目1. 将一个整数的每位数分解并按逆序放入一个数组中(要求用递归算法)。参考答案:public class Reversal public static int revertsal(int rs, int i, int num) if (i rs.length) rsi = num % 10; / 将数字的最后一位放入数组num = (num - num % 10) / 10; / 去掉最后一个已放进数组的数字return revertsal(rs, i + 1, num); / 递归调用 elsereturn 0;public static void main(String args) int num = 1234567890; / 定义一个整数String number = num + ; / 将整数转化为字符串,以便获得数字的个数,是后面的数组定义大小int rs = new intnumber.length();revertsal(rs, 0, num); / 调用逆序方法for (int i : rs) System.out.print(i);2. 用1.2.2.3.4.5这六个数字,写出一个函数,打印出所有不同的排序,如:512234等。要求:”4”不能排在第三位,”3”与”5”不能相连。参考答案:此题有一定难度public class MyTest public static void getNum(char n, int beg, int end) if (beg = end) printNum(String.valueOf(n); else for (int i = beg; i = end; i+) swap(n, beg, i);getNum(n, beg + 1, end);swap(n, beg, i);public static void swap(char n, int x, int y) if (x = y | nx = ny) return;char temp = nx;nx = ny;ny = temp;public static void printNum(String str) if (str.charAt(2) = 4 | str.contains(35) | str.contains(53) return;System.out.println(str);public static void main(String arge) char number = new char 1, 2, 2, 3, 4, 5 ;getNum(number, 0, number.length - 1);3. 求出用1. 2. 5三个不同个数组合的和为100的组合个数(如:100个1是一个组合,5个1加19个5是一个组合)参考答案1:public class MyTest static int n = 0;public static void main(String arge) for (int i = 1; i = 20; i+) for (int j = 0; j = 0) n += 1;System.out.println(n + 1);参考答案2:public class MyTest int sum = 0;for (int i = 0; i = 20; i+) for (int j = 0; j = 50; j+) for (int n = 0; n = 100; n+) if (5 * i + 2 * j + n = 100) sum+;System.out.println(组合的个数: + sum);4. 现有如下要求,请根据需求设计表结构并按要求查询结果。某学校需要实现按班级和课程查询学生成绩的功能:(1) 查询1班所有学生的数学成绩。(2) 查询2班物理成绩前10名的学生。(3) 查询每个学生各课程的成绩,返回学号、姓名、课程名称、成绩,按学号排序。(4) 查询每个班的成绩参考答案:-创建数据库StudentDBcreate database StudentDBgouse StudentDBgo-创建数据表班级表: T_classcreate table T_class(Class_id varchar(10) primary key,Class_name varchar(20) not null)go-创建数据表学生表: T_studentcreate table T_student(Stud_id varchar(10) primary key,Stud_name varchar(20) not null,Class_id varchar(10) not null)go-创建数据表课程表: T_coursecreate table T_course(Course_id varchar(10) primary key,Course_name varchar(100) not null)go-创建数据表成绩表: T_scorecreate table T_score(Score_id bigint identity(1,1) primary key,Course_id varchar(10) not null,Stud_id varchar(10) not null,Score decimal(5,2)go-创建数据表之间的关系alter table T_studentadd constraint fk_T_student_T_calss_Class_id foreign key (Class_id)references T_class (Class_id)alter table T_scoreadd constraint fk_T_score_T_course_Course_id foreign key (Course_id)references T_course (Course_id)alter table T_scoreadd constraint fk_T_score_T_student_Stud_id foreign key (Stud_id)references T_student (Stud_id)go-查询班所有学生的数学成绩select Stud_name, Scorefrom T_class as cls, T_student as s, T_course as c, T_score as scwhere s.Class_id = cls.Class_id and sc.Stud_id = s.Stud_id and sc.Course_id = c.Course_id and Class_name = 1班 and Course_name = 数学-查询班物理成绩前名的学生select top 10 s.Stud_id, Stud_name, Scorefrom T_class as cls, T_student as s, T_course as c, T_score as scwhere s.Class_id = cls.Class_id and sc.Stud_id = s.Stud_id and sc.Course_id = c.Course_id and Class_name = 2班 and Course_name = 物理order by Score desc-查询每个学生各课程的成绩,返回学号、姓名、课程名称、成绩,按学号排序。select s.Stud_id, Stud_name, Course_name, Scorefrom T_student as s, T_course as c, T_score as scwhere sc.Stud_id = s.Stud_id and sc.Course_id = c.Course_idorder by s.Stud_id asc-查询每个班的成绩create procedure prc_ScroeClass_name varchar(20)asbeginselect Class_name, Stud_name, Course_name, Scorefrom T_class as cls, T_student as s, T_course as c, T_score as scwhere s.Class_id = cls.Class_id and sc.Stud_id = s.Stud_id and sc.Course_id = c.Course_id and Class_name = Class_nameend1, 编写程序,实现九九乘法表。参考答案:package com.csmz.niit;public class JiuJiu public static void main(String args) / 外层循环for (int i = 1; i = 9; i+) / 内层循环for (int j = 1; j = i; j+) System.out.print(i + * + j + = + i * j + t);System.out.print(n); / 换行2, 定义一个单链表,并将数字1-100放入单链表。参考答案:/ 单链表的结点class SNode private int data; / 数据域private SNode next; / 引用域 / 构造函数 public SNode(int val, SNode p) data = val; next = p; public int getData() return data;public void setData(int data) this.data = data;public SNode getNext() return next;public void setNext(SNode next) this.next = next;/ 单链表class SLinkList private SNode start; /结点类型的start变量,表示单链表的头结点(第一个结点)。 /初始化单链表 public SLinkList() start = null; /空的单链表,第一个结点为null。 /在单链表末尾插入一个新的结点 public void InsertNode(int a) /为新结点分配内存并为数据字段分配值 SNode newnode = new SNode(a, null); /如果在空链表末尾插入新结点,那么第一个结点就是新结点。 if (start = null) start = newnode; return; /找到链表中的最后一个结点,并将它标记为current。 SNode current = start; while (current.getNext() != null) current = current.getNext(); current.setNext(newnode); /使current的next字段指向新结点 newnode.setNext(null) ; /使新结点next字段指向null / 单链表测试类public class TestLinkList public static void main(String args) / 往单链表中插入整数 1 - 100SLinkList slList = new SLinkList();for (int i=1; i=100; i+) slList.InsertNode(i);1 递归求1n的和。参考答案:public class MyTest public static int digui(int a) if (a = 0 | a = 1) return a; elsereturn a + digui(a - 1);public static void main(String args) int n = 100;int result = digui(n);System.out.println(result);2 随机生成100个0-99的数字,统计0 1 2 3 4 5 6 7 8 9出现的个数,然后输出。参考答案:public class MyTest public static void main(String args) int b = new int10;for (int i = 0; i 100; i+) int r = (int) (Math.random() * 100);if (r = 0) br = br + 1;for (int i = 0; i b.length; i+) System.out.println(i + 出现的次数: + bi);3 猴子吃桃问题 (用递归算法实现) 有N个桃子,猴子第一天吃了所有桃子的一半加一个,第二天又吃了所有桃子一半加一个,到第十天只剩下一个了, 求N。参考答案:public class MyTest public static int pantao(int n) if (n=3)。参考答案:public class MyTest public static int fibonacci(int n)if (n=2)return n;elsereturn fibonacci(n-1) + fibonacci(n-2);public static void main(String args) int n = 10;System.out.println(f( + n + )= + fibonacci(n);2. 实现一个堆栈类Stack,至少包含进栈和出栈两个方法:Push(int x) 和 int Pop()。参考答案:class Stack private int stck = new int10;private int top; / 栈顶位置/ 初始化栈顶位置为-1,指向一个空栈。public Stack() top = -1;/ 入栈public void push(int item) if (top = 9)System.out.println(堆栈已满);elsestck+top = item;/ 出栈public int pop() if (top 0) System.out.println(堆栈为空);return 0; elsereturn stcktop-;public class TestStack public static void main(String args) Stack mystack = new Stack();/ 在堆栈中放入测试数据for (int i = 0; i 10; i+)mystack.push(i);/ 出栈System.out.println(Stack in mystack:);for (int i = 0; i 10; i+)System.out.println(mystack.pop();3. 编写一个函数,其输入参数为字符串S,返回值为S中连续非空格字符所组成的子串中最长子串的长度。参考答案:public class MyTest public static void main(String args) String str = abc 123#$ 789;/ 按空格分隔字符串String arr = str.split( );int lenArray = new int arr.length;/ 取分割后各子串的长度,放入数组 lenArray 中for (int i = 0; i arr.length; i+) lenArrayi = arri.length();/求子串长度的最大值int maxValue = lenArray0;for (int i = 1; i maxValue) maxValue = lenArrayi;System.out.println(子串中最长子串的长度为: + maxValue);4. 给定一个整数序列,编写代码计算出所有子序列和中的最大值。参考答案:此题有难度,可不做。public class MyTest public
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建设银行2025酒泉市秋招半结构化面试题库及参考答案
- 班组安全知识培训小结课件
- 建设银行2025河池市金融科技岗笔试题及答案
- 邮储银行2025秋招笔试性格测试题专练及答案四川地区
- 交通银行2025济源市秋招笔试EPI能力测试题专练及答案
- 建设银行2025沧州市秋招结构化面试经典题及参考答案
- 工商银行2025孝感市秋招笔试EPI能力测试题专练及答案
- 邮储银行2025陇南市秋招笔试EPI能力测试题专练及答案
- 演出经纪人之《演出经纪实务》试卷及答案详解(夺冠系列)
- 中国银行2025白山市秋招笔试创新题型专练及答案
- 红领巾观察题目及答案
- DLT5210.1-2021电力建设施工质量验收规程第1部分-土建工程
- 江西省第二届职业技能大赛智慧安防技术赛项-模块B-公开样题
- 劳保用品公司管理制度
- 2023-2024学年江苏省苏州市高三(上)期初调研物理试题及答案
- 抗凝剂皮下注射技术临床实践指南
- T/CNFAGS 7-2023天然气、焦炉气制合成氨、尿素行业清洁生产水平分级标准(大气污染物)
- 2025-2030年中国四轮定位仪行业市场现状供需分析及投资评估规划分析研究报告
- 反窃查违专项培训实务
- 小学四年级上册语文学历案 教学设计
- NCCN卵巢癌指南2025第1版解读课件
评论
0/150
提交评论