算法与编程-19个编程实践题目

算法与编程-19个编程实践题目

算法与编程-19个编程实践题目

1.编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔,c.txt文件中用回车符分隔。

2.编写一个函数将一个十六进制数的字符串参数转换成整数返回。

3.编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节数截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应截取“我AB”,输入“我ABC汗DEF”,6,应该输出“我ABC”,不包含半个字节。

4.有n个人依次围成一个圈,从第1个开始报数,数到第m个人出列,然后从出列的下一个人开始报数,数到第m个人又出列,…。如此反复到所有的人全部列出为止。设n个人的编号分别是1,2,3,…,n,输入n和m,打印出来出列的顺序。

5.从类似如下的文本中读取所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序:
1,张三,28
2,李四,35
3,张三,28
4,王五,35
5,张三,28
6,李四,35
7,赵六,28
8,田七,35

6.递归算法题1:一个正整数,不用循环和本地变量,按照n,2n,4n,8n的顺序递增,当值大于5000时,把值按照指定顺序输出。
例:n=1237
输出为:
1237,
2474,
4948,
9896,
9896,
4948,
2474,
1237,

7.递归算法题2:第1个人10岁,第2个比第一个人大2岁,依次递推,请用递归方式计算第8个人多大。

8.程序实现二分查找函数,传出数组和查找值,返回数值在数组中下标。

9.去掉一个Vector集合中重复的原素。

10.设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。

11.说明生活中遇到的二叉树,用java实现二叉树。

12.写一个Singleton出来。

13.写一个程序将d:\java目录下所有.java文件复制到d:\java目录,并将原来文件的扩展名.java改为.jad。

14.用反射机制声明长度为10的int型数组的表达式。

15.有数组a[n],用java代码将数组元素顺序颠倒。

16.有一串字符分别统计出其中的中文字符,英文字符,数字字符与其他字符。

17.子线程循环10次,接着主线程循环100次;接着又回到子线程循环10次,接着再回到主线程又循环100次。如此循环50次,写出程序。

18.KMP算法处理字符串匹配问题。

19.生成100以内的随机数算法,并且要求每次生成的随机数都不同。