作者laechan (小太保)
看板mud_sanc
标题[wizs] 巫师升等测验题目四
时间Tue Nov 4 16:20:52 2008
因 nobu 只出一题,所以我加出一题,另外,二三四题只算两题,
较有时间的 wiz 就三题都做,不然挑两题即可。
(如果到星期日为止 nobu 没有公布他的题目,那计题方式依然同
上,而且我不会再加出题目)
底下是一个阵列资料...
mixed abc = ({ "a", "b", "b", "c", "c", "c" });
撰写一个房间物件存放上面的阵列,然後 add_action 几个指令..
1)当使用者输入 test41 a 时,能秀出 "a" 这个字串在阵列中的
第几个位置; 比方输入 test41 b 时能秀出它在第 2 及第 3 个
位置(或阵列位置第 1 & 第 2 个)。而如果输入的字串没有在上
面的阵列中时(如输入 test41 d), 就显示相关讯息。
2)当使用者输入 test42 a 时,你所撰写的程式可以把 abc 中的
"a" 去掉, 剩下的 abc 会变成 ({"b","b","c","c","c"}), 请
以 identify 的方式把「剩下的 abc」秀出。其它以此类推。
而如果 test42 後面接的东西,例如 test42 d, d 不在 abc
里头时就不改变 abc 这个阵列的资料并显示相关讯息。
3)当使用者输入 test43 d 时,你所撰写的程式可以为 abc 这个
阵列补上 "d" 这个资料,此时的 abc 就会多出一个新的资料
即 abc = ({"a","b","b","c","c","c","d"})
以 identify 的方式把新的 abc 显示出来。其它以此类推。
(即不管 test43 後面接什麽,abc 都要能把它包含进去)
4)当使用者输入 test44 n 时,代表使用者打算删掉 abc 这个阵
列中的第 n 个元素,例如 test44 1 代表要删掉 abc[0], 请将
test44 的执行结果以 identify 的方式秀出. 而如果指定的 n
不在 abc 的阵列大小内时, 就显示无法执行的相关讯息.
底下是 deep 升 adm 的加考项目..
5)当使用者输入 test45 时, 请宣告一个 mapping 变数, 程式能
将 abc 对映到该 mapping 变数中存放, 如底下...
mapping d = ([ "a" : 1,
"b" : 2,
...
]);
亦即 d 储存的是 abc 阵列中的元素, 每一个的个数是多少.
请以 identify 的方式秀出 d。
6)现在你有 d 了,当使用者输入 test46 时,程式可以 keys(d)
将 d 的 key 读出来,然後把这个阵列依 "a", "b", "c" ..的
字母顺序重新排列,例如读出来的阵列假设是
({"c", "b", "c", "a", "b"}) 请将它重新排列为
({"a", "b", "b", "c", "c"})
额外项目
1)test41~test46 可交互测试。(不做可交互测试的也可)
2)允许使用者清空 abc 的资料後自建供测试的资料。
3)阵列字串元素的排列顺序部份,如果该字串并非单一字母时,
以该字串的「第一个字母」做排序依据。
其它说明同 3556 篇。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: laechan 来自: 218.170.229.177 (11/04 16:22)