范文一:工程师笔试题
机械结构工程师笔试 试卷
姓名: 分数:
一、简答题:(12题,每题5分,共60分)
1.钢根据用途可分几类?按其端面形状可分几类?
2.角钢变形有哪几种?槽钢的变形有哪几种?
3.什麽叫装配?装配的三要素是什么?
4.影响材料冲压的因素有哪些?
5.金属结构的主要形式有哪些?
6.金属结构的连接方法有哪几种?
7.装配中常用的测量项目有哪些?
8.零件上表面对下表面的平行度公差值为0.05mm ,若要规定该上表面的平面度公差,其公差值与平行度公差值有何关系,为什么。
9.40Cr 钢汽车转向节是汽车的重要零件,毛坯硬度要求241~285HBS ,成品表面硬度为52~63HRC ,需进行哪两种热处理工艺。
10.举例说明在什么情况下螺纹连接需要防松,防松方法可分为哪几类。
11.试述刀具前刀面上的积屑瘤能够为切削加工带来哪些有利因素,并说明其条件。
12.常用的表面处理工艺有哪几种(至少答出5种)。
二、应用题:(4题,每题10分,共40分)
1.下图为工作压力20MPa 的液压油缸装配示意图,请说明以下问题:
1)以右端为例,说明Ф1小孔在启动和停止时的缓冲作用原理。
2)说明数字标示部分所用密封圈的密封形式和类型。
2.指出图示轴系结构设计中的错误,在错误之处标出数字作记号,分别按数字记号说明其错误原因。
3.一个带有键槽的内孔,其设计尺寸如图a 所示。该内孔有淬火处理的要求,因此有如下的工艺安排(参见图b ):
+0. 046+0. 03φ49. 8φ50001)镗内孔到mm ;2)插键槽;3)淬火处理;4)磨内孔,同时保证内孔直径mm 和键槽
+0. 353. 80深度mm 两个设计尺寸的要求。请计算插键槽工序的工序尺寸A2。
4.浇铸系统由哪几部分组成,铸件浇注系统应满足哪些工艺要求?某形状复杂的铸件材质为HT200,质量为60kg ,壁厚δ=6mm,采用封闭式浇铸系统,计算该铸件浇注系统各组元的截面积。
范文二:PIE工程师笔试题
PIE 工程师笔试题
试题答问时间为 100分钟 , 满分为 100分答题时间为 90分钟 )
一 , 填空题 (43分 , 每空一分 )
1, 最早提出科学管理的人是 ______国的 ______;
2, 工业工程 -‘IE’ 是 __________________两英文单词的缩写 ;
3, 标准时间由 __________和 __________组成 ;
4, 生产的四要素指的是 __________,__________,___________ ,和 __________;
5, 生产效率指的是在单位时间內实际生产的合格品数量与 __________的比值 ;
6, 作业周期指的是 _______________________________________________;
7, 三 极 管 按 其 结 构 分 为 __________和 __________两 类 ; 按 用 途 分 为 __________,___________,和 __________;
8, 电 容 器 容 量 的 单 位 有 __________,__________,___________,__________,和 __________;
9, 电 阻 器 的 主 要 作用有 __________,__________,___________,__________,和 __________;
10, 在 电 子 线 路 中 电 阻 器 的 符 号 用 __________表 示 ;
11, 品质改善循环 ‘PDCA’ 指的是 __________,__________,__________,__________;
12,ISO 是 _____________组织 ;
13, ‘5S’ 管理中 ,5S 指的是 _________,________,________,_______ ,_________;
14, 品质管制七大手法中的特性要因图又称之 ___________,通过先提出问题 , 然后分析问题造成的原因 ; 15, 三 极 管 的 三 种 工 作 状 态 是 __________,___________ ,和 __________;
二 , 判断题 :(20分,每题 2分 )
1, 作业指导书包含的內容有作业名称 , 作业方法 , 使用工具和使用物料等 ; ( )
2, 流水线的人员配给是根据生产订单量的数量配给的 ; ( )
3, 产品既有硬件产品 , 也有软件产品 ; ( )
4, ISO是国际化的产品质量检验标准 ; ( )
5, 配合制程的需要 , 减少物料的搬运 , 充分利用空间都是工场布置的关键 ; ( )
6﹐一天內时钟和分钟相交的次数是 23次﹔ ( )
7﹐一天內超出 8小时外的工作叫加班﹔ ( )
8﹐使用工装治具的目的就是提高作业的效率和品质﹔ ( )
9﹐焊接使用的 6/4锡﹐指的是锡线含 60%锡﹐含 40%铅﹔ ( )
10﹐ IC 的引脚方向是从标示脚沿逆时针方向依次为第 1、 2、 3-----脚﹔ ( )
三 , 问答题 :(17分 )
1﹐请写出 IE 七大手法 ? (7分)
2﹐电 脑 主 板 的 故 障 一 般 有 哪 几 种 及 各 故 障 主 要 表 现 在 哪 些 方 面 ? (10分 )
四 , 综合题 :(20分 )
1﹐作为一名 PIE 工程師 , 你认为应该做哪些工作 ? (10分)
2﹐一般在什么情况下必須进行现场改善 ?(10分 )?
一 , 填空题
1, (美国 , 泰勒 )
2, (INDUSTRIAL ENGINEERING)
3, (作业时间 , 宽放时间 )
4, (人员 , 机械设备 , 原材料和方法 )
5, (标准产能 )
6, (加工物件从投入至产出所需要的总时间 )
7, (PNP , NPN , 放大 , 开关控制 , 稳压)
8, (F , MF , UF , NF , PF )
9, (旁路 , 阻流 , 分流 , 反馈 , 分压 )
10, (R )
11, (计划 , 执行 , 检查 , 矫正 )
12, (國際化標准 )
13, (整理 , 整顿 , 清扫 , 清洁 , 素养 )
14, (鱼骨图 /因果图 )
15, (放大区 , 截止区 , 饱和区 )
二 , 判断题
1, (V) 2, (X) 3, (V) 4, (X) 5, (V) 6, (X) 7, (X ) 8, (V ) 9, (V ) 10, (V ) 三 , 问答题
1, 1)程序分析法 ;
2) 动作分析法 ;
3) 时间分析法 ;
4) 工場布置改善 ;
5) 搬运 \工程分析法 ;
6)稼动分析法 (工作抽查法 );
7) 平衡分析法 ;
2, 1)不通电 ; 电源 IC, 晶振 ,IO 等
2)不开机 ; 北桥 , 南桥 ,IO,BIOS 等
3)开机死机 ; 电源三级管 , 贴片电容不良 , IO等
4)串口不通过 ; 串口 IC, 南桥 ,IO 等
5) A 盘不启动 ; 南桥 ,IO 等
四 , 综合题
2, 1), 生产工艺 \\发生变更时 ;
2), 因技术的进步变化时 ;
3), 设计更改时 ;
4), 现状的工场布置效率低时 ;
5), 生产量常有增减时 ;
6), 现场須移动时 ;
7), 新产品投入时 ;
范文三:IT工程师笔试题
IT工程师笔试题
姓名_______________ 薪资要求_____________ 分数_____________
1. 请写出568A与568B的线序?
2. C/S、B/S的含义?
3. 手动更新DHCP分配的IP地址的CMD命令什么?
4. 重装系统,格式化C盘之前该注意哪些方面?
5. 当公司网站出现无法访问时,你怎么处理?
6. 某一天公司领导的电脑无法启动了,把你叫到他办公室,你应该怎么做?
7. 有员工发邮件给客户,但是客户怎么都接收不了,你想是有什么情况?如何处理?
8. 谈谈你对SAP系统的理解?
9. 有员工经常性问你已经给他解释、教导过N遍的问题,在问你第N+1次时,你会怎么做?
10. 谈谈你对WMS系统的理解?
11. 什么是三层架构?
12,什么是MVC模式?其优点和缺点?
13,列举ASP.NET 页面之间传递值的几种方式。
14,C#中的接口和类有什么异同?
15,说说&和&&的区别。
16,简述一下WebService是什么。
17,在.NET中所有类的基类是?
18,什么是XML?
19,位于广州A仓库的数据库是生产数据库(SQL Server),现需要把广州A仓库的生产数据实时同步到上海总部B的数据库中,该怎么做?
20,inner join 是什么意思?作用是什么?写出基本语法结构。
21,已知一个表T4, 结构为:
stu_name course result
张三 语文 20
张三 数学 30
张三 英语 50
李四 语文 70
李四 数学 60
李四 英语 90
问:怎样通过SQL 的 Select 语句输出以下结构的数据
stu_name 语文 数学 英语
张三 20 30 50
李四 70 60 90
附加题: 你更偏向于哪一领域:网站(策划/开发/运营),网络(Lan/Wan),软件程序,数据库(SQL Server/Mysql/DB2/Sybase/Oracle),并说出原因。
范文四:JAVA工程师笔试题
姓名: 开始时间: 完成时间:
Java高级工程师笔试题
1. 删除。现在想在该连接中添加一行代码,用户点击该删除
链接时,先弹出一个确认框“您确定要删除吗?”,用户点击确定,才真正访问删除链接,如果点击取消,则不执行删除操作。请补充该行代码:
2. 以下方法,执行test1()输出的结果是:
publicvoid test1(){
Member m =newMember();
m.setUserName(
update(m);
System.out.println(m.getUserName()) ;
String s2=
s2.replace(
System.out.println(s2);
}
publicvoid update(Member m){
m=newMember();
m.setUserName(
}
3. JSP内置的对象有哪些,分别都有哪些功能?
4. JSP运行时是否是线程安全的?在高并发的情况下,有没有共享冲突的问题?
5. 请编写一个类,接受从命令行输入参数的方式,输入一个目录,统计该目录下面的文件
和文件夹数量(需要使用递归方法包含所有子文件夹)
6. Struts2中,Action里面有一个List users属性(User对象有一个属性realName),
请使用ognl语言,在jsp里面打印所有的user的realName。
范文五:JAVA工程师笔试题
【程序17】
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 public class lianxi17 {
public static void main(String[] args) {
int x = 1;
for(int i=2; i<=10; i++)="" {="">=10;>
x = (x+1)*2;
}
System.out.println("猴子第一天摘了 " + x + " 个桃子");
}
}
【程序18】
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
public class lianxi18 {
static char[] m = { 'a', 'b', 'c' }; static char[] n = { 'x', 'y', 'z' }; public static void main(String[] args) {
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]);
}
}
}
}
】 【程序19
题目:打印出如下图案(菱形)
*
***
*****
*******
*****
***
*
public class lianxi19 {
public static void main(String[] args) {
int H = 7, W = 7;//高和宽必须是相等的奇数
for(int i=0; i<(h+1) 2;="" i++)="" {="">(h+1)>
for(int j=0; j
System.out.print(" ");
}
for(int k=1; k<(i+1)*2; k++)="" {="">(i+1)*2;>
System.out.print('*');
}
System.out.println();
}
for(int i=1; i<=h ;="" i++)="" {="">=h>
for(int j=1; j<=i; j++)="" {="">=i;>
System.out.print(" ");
}
for(int k=1; k<=w-2*i; k++)="" {="">=w-2*i;>
System.out.print('*');
}
System.out.println();
}
}
}
【程序20】
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
public class lianxi20 {
public static void main(String[] args) {
int x = 2, y = 1, t;
double sum = 0;
for(int i=1; i<=20; i++)="" {="">=20;>
sum = sum + (double)x / y;
t = y;
y = x;
x = y + t;
}
System.out.println("前20项相加之和是: " + sum); }
}
【程序21】
题目:求1+2!+3!+...+20!的和
public class lianxi21 {
public static void main(String[] args) {
long sum = 0;
long fac = 1;
for(int i=1; i<=20; i++)="" {="">=20;>
fac = fac * i;
sum += fac;
}
System.out.println(sum); }
}
】 【程序22
题目:利用递归方法求5!。
public class lianxi22 { public static void main(String[] args) {
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;
}
}
【程序23】
题目:有5个人坐在一起,问第五个人多少岁,他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大,
public class lianxi23 {
public static void main(String[] args) {
int age = 10;
for(int i=2; i<=5; i++)="" {="">=5;>
age =age+2;
}
System.out.println(age);
}
}
【程序24】
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 //使用了长整型最多输入18位
import java.util.*;
public class lianxi24 {
public static void main(String[] args) {
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]);
}
}
}
【程序25】
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
import java.util.*;
public class lianxi25 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int a;
do{
System.out.print("请输入一个5位正整数:");
a = s.nextInt();
}while(a<10000||a>99999);
String ss =String.valueOf(a);
char[] ch = ss.toCharArray();
if(ch[0]==ch[4]&&ch[1]==ch[3]){
System.out.println("这是一个回文数");}
else {System.out.println("这不是一个回文数");}
}
}
//这个更好,不限位数
import java.util.*;
public class lianxi25a {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
boolean is =true;
System.out.print("请输入一个正整数:");
long a = s.nextLong();
String ss = Long.toString(a);
char[] ch = ss.toCharArray();
int j=ch.length;
for(int i=0; i
if(ch[i]!=ch[j-i-1]){is=false;}
}
if(is==true){System.out.println("这是一个回文数");}
else {System.out.println("这不是一个回文数");}
}
}
】 【程序26
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。
import java.util.*;
public class lianxi26 {
public static void main(String[] args) {
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;
}
}
】 【程序27
题目:求100之内的素数
//使用除sqrt(n)的方法求出的素数不包括2和3
public class lianxi27 {
public static void main(String[] args) {
boolean b =false;
System.out.print(2 + " ");
System.out.print(3 + " ");
for(int i=3; i<100; i+="2)" {="">100;>
for(int j=2; j<=math.sqrt(i); j++)="" {="">=math.sqrt(i);>
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]="" +="" "="" ");="">4;>
boolean b =false;
for(int i=11; i<100; i+="2)" {="">100;>
for(int j=0; j<4; j++)="">4;>
if(i % a[j] == 0) {b = false;
break;
} else{b = true;}
}
if(b == true) {System.out.print(i + " ");}
}
}
}
【程序28】
题目:对10个数进行排序
import java.util.*;
public class lianxi28 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int[] a = new int[10];
System.out.println("请输入10个整数:");
for(int i=0; i<10; i++)="" {="">10;>
a[i] = s.nextInt();
}
for(int i=0; i<10; i++)="" {="">10;>
for(int j=i+1; j<10; j++)="" {="">10;>
if(a[i] > a[j]) {
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for(int i=0; i<10; i++)="" {="">10;>
System.out.print(a[i] + " ");
}
}
}
【程序29】
题目:求一个3*3矩阵对角线元素之和
import java.util.*;
public class lianxi29 { public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int[][] a = new int[3][3];
println("请输入9个整数:"); System.out.
for(int i=0; i<3; i++)="" {="">3;>
for(int j=0; j<3; j++)="" {="">3;>
a[i][j] = s.nextInt();
}
}
System.out.println("输入的3 * 3 矩阵是:");
for(int i=0; i<3; i++)="" {="">3;>
for(int j=0; j<3; j++)="" {="">3;>
System.out.print(a[i][j] + " ");
}
System.out.println();
}
int sum = 0;
for(int i=0; i<3; i++)="" {="">3;>
for(int j=0; j<3; j++)="" {="">3;>
if(i == j) {
sum += a[i][j];
}
}
}
System.out.println("对角线之和是:" + sum);
}
}
【程序30】
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 //此程序不好,没有使用折半查找插入
import java.util.*;
public class lianxi30 {
public static void main(String[] args) {
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
b[i] = a[i];
}
} else {
for(i=0; i
if(num >= a[i]) {
b[i] = a[i];
} else {
b[i] = num;
break;
}
}
for(int j=i+1; j
b[j] = a[j-1];
}
}
for (i = 0; i < b.length;="" i++)="" {="">
System.out.print(b[i] + " ");
}
} }
】 【程序31
题目:将一个数组逆序输出。
import java.util.*;
public class lianxi31 {
public static void main(String[] args) {
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
System.out.print(a[j]+" "); }
System.out.println("\n数组逆序输出为:");
for( j=i-2; j>=0; j=j-1) {
System.out.print(a[j]+" ");
}
}
}
【程序32】
题目:取一个整数a从右端开始的4,7位。
import java.util.*;
public class lianxi32 {
public static void main(String[] args) {
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("输入错误~");}>7){system.out.println("输入错误~");}>
else {
System.out.println("截取从右端开始的4,7位是:"+ch[j-7]+ch[j-6]+ch[j-5]+ch[j-4]);
}
}
}
【程序33】
题目:打印出杨辉三角形(要求打印出10行如下图)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1 1 5 10 10 5 1 …………
public class lianxi33 {
public static void main(String[] args) {
int[][] a = new int[10][10];
for(int i=0; i<10; i++)="" {="">10;>
a[i][i] = 1;
a[i][0] = 1;
}
for(int i=2; i<10; i++)="" {="">10;>
for(int j=1; j
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
for(int i=0; i<10; i++)="" {="">10;>
for(int k=0; k<2*(10-i)-1; k++)="" {="">2*(10-i)-1;>
System.out.print(" ");
}
for(int j=0; j<=i; j++)="" {="">=i;>
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
}
【程序34】
题目:输入3个数a,b,c,按大小顺序输出。
import java.util.Scanner;
public class lianxi34 {
public static void main(String[] args) {
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);
}
}
【程序35】
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
import java.util.*;
public class lianxi35 { public static void main(String[] args) {
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
a[i] = s.nextInt(); }
System.out.println("你输入的数组为:");
for(int i=0; i
System.out.print(a[i] + " ");
}
int max =a[0], min = a[0];
for(int i=0; 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
System.out.print(a[i] + " ");
}
}
}
【程序36】
题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
import java.util.Scanner; public class lianxi36 { public static void main(String[] args) {
int N =10;
int[] a = new int[N];
Scanner s = new Scanner(System.in);
System.out.println("请输入10个整数:");
for(int i=0; i
a[i] = s.nextInt();
}
System.out.print("你输入的数组为:");
for(int i=0; i
System.out.print(a[i] + " ");
}
System.out.print("\n请输入向后移动的位数:");
int m = s.nextInt();
int[] b = new int[m];
for(int i=0; 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
a[i] = b[i];
}
System.out.print("位移后的数组是:");
for(int i=0; i
System.out.print(a[i] + " ");
}
}
}
】 【程序37
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
import java.util.Scanner;
public class lianxi37 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("请输入排成一圈的人数:");
int n = s.nextInt();
boolean[] arr = new boolean[n];
for(int i=0; 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
if(arr[i] == true) {
System.out.println("原排在第"+(i+1)+"位的人留下了。");
}
}
}
}
【程序38】
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
/*………………
*……题目意思似乎不能用length()函数 */ import java.util.*;
public class lianxi38 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = s.nextLine();
System.out.println("字符串的长度是:"+str.length());
}
}
【程序39】
题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,
调用函数1/1+1/3+...+1/n(利用指针函数)
//没有利用指针函数
import java.util.*;
public class lianxi39 {
public static void main(String[] args) {
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)" {="">=n;>
res += (double)1 / i;
}
} else {
for(int i=1; i<=n; i+="2)" {="">=n;>
res += (double)1 / i ;
}
}
return res;
}
}
【程序40】
题目:字符串排序。
public class lianxi40 {
public static void main(String[] args) {
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
for(int j=i+1; j
if(compare(s[i], s[j]) == false) {
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
for(int i=0; i
System.out.println(s[i]);
}
}
static boolean compare(String s1, String s2) {
boolean result = true;
for(int i=0; i
if(s1.charAt(i) > s2.charAt(i)) {
result = false;
break;
} else if(s1.charAt(i)
result = true;
break;
} else {
if(s1.length() < s2.length())="" {="">
result = true;
} else {
result = false;
}
}
}
return result;
}
}
【程序41】
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,
这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又
多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做
的,问海滩上原来最少有多少个桃子,
public class lianxi41 { public static void main (String[] args) {
int i,m,j=0,k,count;
for(i=4;i<10000;i+=4)>10000;i+=4)>
{ count=0;
m=i;
for(k=0;k<5;k++)>5;k++)>
{
j=i/4*5+1;
i=j;
if(j%4==0)
count++;
else break;
}
i=m;
if(count==4)
"+j+" 个"); {System.out.println("原有桃子
break;}
}
}
}
【程序42】
题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果
为3位数。求??代表的两位数,及809*??后的结果。 //题目错了~809x=800x+9x+1 这样的方程无解。去掉那个1就有解了。 public class lianxi42 { public static void main (String[] args) {
int a=809,b,i;
for(i=10;i<13;i++)>13;i++)>
{b=i*a ;
if(8*i<100&&9*i>=100)
System.out.println ("809*"+i+"="+"800*"+i+"+"+"9*"+i+"="+b);}
}
}
【程序43】
题目:求0—7所能组成的奇数个数。
//组成1位数是4个。
//组成2位数是7*4个。
//组成3位数是7*8*4个。
//组成4位数是7*8*8*4个。
//......
public class lianxi43 { public static void main (String[] args) {
int sum=4;
int j;
System.out.println("组成1位数是 "+sum+" 个"); sum=sum*7;
System.out.println("组成2位数是 "+sum+" 个"); for(j=3;j<=9;j++){>=9;j++){>
sum=sum*8;
System.out.println("组成"+j+"位数是 "+sum+" 个"); }
}
}
】 【程序44
题目:一个偶数总能表示为两个素数之和。
//由于用除sqrt(n)的方法求出的素数不包括2和3,
//因此在判断是否是素数程序中人为添加了一个3。
import java.util.*;
public class lianxi44 {
public static void main(String[] args) {
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 ;i++){="">=n>
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++){>=math.sqrt(a);i++){>
if(a%i==0) {flag=0;break;}
else flag=1;}
return (flag) ;//不是素数,返回0,是素数,返回1
}
}
//解法二
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 ;i+="2){">=n>
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++){>=math.sqrt(a);i++){>
if(a%i==0) {flag=false;break;}
else flag=true;}
return (flag) ;
}
}
】 【程序45
题目:判断一个素数能被几个9整除
//题目错了吧,能被9整除的就不是素数了~所以改成整数了。 import java.util.*;
public class lianxi45 {
public static void main (String[] args) {
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整除。");
}
}
【程序46】
题目:两个字符串连接程序
import java.util.*;
public class lianxi46 {
public static void main(String[] args) {
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);
}
}
【程序47】
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的,。 import java.util.*;
public class lianxi47 {
public static void main(String[] args) { Scanner s = new Scanner(System.in); int n=1,num;
while(n<=7){>=7){>
do{
System.out.print("请输入一个1--50之间的整数:");
num= s.nextInt();
}while(num<1||num>50);
for(int i=1;i<=num;i++)>=num;i++)>
{System.out.print("*");
}
System.out.println();
n ++;
}
}
}
【程序48】
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密
规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交
换,第二位和第三位交换。
import java.util.*;
public class lianxi48 { public static void main(String args[]) {
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++)>4;j++)>
{
a[j]+=5;
a[j]%=10;
}
for(int j=0;j<=1;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++)>4;j++)>
System.out.print(a[j]);
}
}
【程序49】
题目:计算字符串中子串出现的次数
import java.util.*;
public class lianxi49 {
public static void main(String args[]){ 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++)>=str1.length()-str2.length();i++)>
{
if(str2.equals(str1.substring(i, str2.length()+i)))
//这种比法有问题,会把"aaa"看成有2个"aa"子串。
count++;
}
System.out.println("子串在字符串中出现: "+count+" 次");
}
}
}
【程序50】
题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,把原有的数据和计算出的平均分数存放在磁盘文件 "stud "中。
import java.io.*;
import java.util.*;
public class lianxi50 {
public static void main(String[] args){
Scanner ss = new Scanner(System.in);
String [][] a = new String[5][6];
for(int i=1; i<6; i++)="" {="">6;>
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++)="" {="">4;>
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++)="" {="">5;>
sum=0;
for(int j=2; j<5; j++)="">5;>
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;">5;><6; j++)="" {="">6;>
s1=a[i][j]+"\r\n";
output.write(s1);
}
}
output.close();
System.out.println("数据已写入c盘文件stud中~");
} catch (Exception e) {
e.printStackTrace();
}
}
}
1000||num>1||num>6||n%2!=0);>6||n%2!=0);>100&&9*i>10000||a>