【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

 

 

 

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