tcl编程练习1
发布日期:2022-01-31 02:52:45 浏览次数:8 分类:技术文章

本文共 1540 字,大约阅读时间需要 5 分钟。

1.用函数来实现对任意长度任意数列进行排序的功能,要求通过参数来选择从大到小排序,还是从小到大排序; 并将结果输出到一个文件里。例如,当输入2,9,4,3时,从大到小排序输出结果为:9,4,3,2。

set string {
2,9,4,3}set newlist_file [open "newlist.txt" w] #w,以只写方式写入文件set list [split $string ,]puts $listputs "please select mode:" #选择升序还是降序排列set mode [gets stdin] #从键盘读取输入if {
[string match "up" $mode]} {
set newlist [join [lsort -integer -increasing $list] ","]puts $newlist puts $newlist_file $newlist } elseif {
[string match "down" $mode]} {
set newlist [join [lsort -integer -decreasing $list] ","]puts $newlist puts $newlist_file $newlist }close $newlist_file

程序运行结果

[li@localhost test]$ tclsh test.tcl2 9 4 3please select mode:up2,3,4,9[li@localhost test]$ tclsh test.tcl2 9 4 3please select mode:down9,4,3,2[li@localhost test]$

2.在第一道题的基础上,去掉数列中重复的数字,即每个数字只能出现一次。如9,4,3,2,2的输出结果应该是9,4,3,2

set string {
2,2,9,4,3}set newlist_file [open "newlist.txt" w]set list [split $string ,]puts $listputs "please select mode:"set mode [gets stdin]if {
[string match "up" $mode]} {
set newlist [join [lsort -unique -integer -increasing $list] ","] #加上unique选项puts $newlist puts $newlist_file $newlist } elseif {
[string match "down" $mode]} {
set newlist [join [lsort -unique -integer -decreasing $list] ","]puts $newlist puts $newlist_file $newlist }close $newlist_file

程序运行结果

[li@localhost test]$ tclsh test.tcl2 2 9 4 3please select mode:up2,3,4,9[li@localhost test]$ tclsh test.tcl2 2 9 4 3please select mode:down9,4,3,2[li@localhost test]$
更多技术干货,欢迎关注微信公众号:IC小白

在这里插入图片描述

转载地址:https://blog.csdn.net/qq_36480087/article/details/108502354 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:在Cadence中仿真不同级数的RO
下一篇:编程练习4

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年09月23日 17时46分31秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章