【erlang】 40道练习题

1、将列表中的integer,float,atom转成字符串并合并成一个字个字符串:[1,a,4.9,“sdfds”] 结果:“1a4.9sdfds”(禁用++ – append concat实现)

2、得到列表或无组中的指定位的元素 {a,g,c,e} 第1位a [a,g,c,e] 第1位a(禁用erlang lists API实现)

3、根据偶数奇数过淲列表或元组中的元素

4、便用匿名函数对列表奇数或偶数过滤

5、计算数字列表[1,2,3,4,5,6,7,8,9]索引N到M的和

6、查询List1是为List2的前缀(禁用string API实现)

7、逆转列表或元组(禁用lists API实现)

8、对列表进行排序

9、对数字列表进行求和再除以指定的参数,得到商余

10、获得当前的堆栈

11、获得列表或元组中的最大最小值(禁用API实现)

12、查找元素在元组或列表中的位置

13、

14、判断A列表([3,5,7,3])是否在B列表([8,3,5,3,5,7,3,9,3,5,6,3])中出现,出现则输出在B列表第几位开始

15、{8,5,2,9,6,4,3,7,1} 将此元组中的奇数进行求和后除3的商(得值A),并将偶数求和后剩3(得值B),然后求A+B结果

16、在shell中将unicode码显示为中文

17、传入列表L1=[K|]、L2=[V|]、L3=[{K,V}|_]、,L1和L2一一对应,L1为键列表,L2为值列表,将L1和L2按位组合为[{k,v}]行式,完成后再和L3进行结合

18、删除或查询元组中第N个位置的值等于Key的tuple(禁用lists API实现)

19、对一个字符串按指定符字劈分(禁用string API实现)

20、合并多个列表或元组

21、{5,1,8,7,3,9,2,6,4} 将偶数乘以它在此元组中的偶数位数, 比如,8所在此元组中的偶数位数为1,2所在此元组中的偶数位数为2

22、排序[{“a”,5},{“b”,1},{“c”,8},{“d”,7},{“e”,3},{“f”,9},{“g”,2},{“h”,6},{“i”,4}], 以元组的值进行降序 优先用API

23、{8,5,2,9,6,4,3,7,1} 将此元组中的奇数进行求和.

24、传入任意I1、I2、D、Tuple四个参数,检查元组Tuple在索引 I1、I2位置的值V1、V2,如果V1等于V2则删除V1,把D插入V2前面,返回新元组,如果V1不等于V2则把V2替换为V1,返回新元组。注意不能报异常,不能用try,不满足条件的,返回字符串提示

25、删除列表或元组中全部符合指定键的元素

26、替换列表或元组中第一个符合指定键的元素。

27、将指定的元素插入到列表中指定的位置,列表中后面的元素依次向后挪动

28、对[6,4,5,7,1,8,2,3,9]进行排序(降序–冒泡排序)或API排序

29、随机打乱元组,{z,1,y,3,x,5}

30、移除元组或列表中指定位置的元素

31、指定列表第几位之后的数据进行反转。如:指定[2,3,5,6,7,2]第3位后进行反转(谢绝一切API(lists:concat,lists:reverse等)、++、–方法)

32、使用“匿名函数”检查列表的每个元素是否符合传入的最大最小值(都是闭区间)

33、获得列表或元组的最大最小值

34、成生指定数量元组,每个元素为随机integer元素, 元素不能有相同的

35、对一个int进行位移操作,取出0到16位的数据,16到32位的数据,输出这两个数(提示:用bsr bsl实现)

36、输入A(元子列表),B(数值列表)两个相同长度的参数进行随机匹配(要求字母为Key,数值为Value),支持指定的Key和Value在一组

37、对相同类型的数据进行拼接,如binary(<<1,2>><<3,4>> =<<1,2,3,4>>) tuple({a,b},{c} ={a,b,c}) list([10],[20] =[10,20])

38、将列表中相同key的值进行合并,[{a,1},{b,2},{c,3},{b,4},{b,5},{c,6},{d,7},{d,8}]

39、Erlang程序设计(第2版)中5.3节的count_characters方法有错,自行修改证

40、使用“匿名函数”对参数列表中奇数乘以它所在奇数位。如{1,2,3,4,5} 结果 {1,2,6,4,15}

 

答案:https://blog.csdn.net/qq_36337353/article/details/89054145

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章