2008 年脚本编写比赛

2008 年脚本编写比赛

练习的好活动呀,
有兴趣的拿上来讨论下。
http://www.microsoft.com/technet ... 08/chs/summary.mspx

活动摘要
欢迎参加 2008 年冬季脚本编写比赛!实时比赛于 2 月 15 日至 3 月 3 日举行,但在此之后您仍可自行参加活动。

• 脚本编写比赛主页(英语)

在“脚本编写比赛主页”上,有时间表和解决方案(每项活动结束后),以及帮助技巧和其他信息。


--------------------------------------------------------------------------------


初级组
• 活动 1

扑克牌配对(5 点)
参赛人员将得到一系列五张一组的扑克牌,要求确定配对数。

• 活动 2

True Type(10 点)
读取注册表的键值,找出在本地计算机上安装的所有字体,然后解析这些键值以确定哪些是 True Type 字体。

• 活动 3

文本拼接(10 点)
复制文件夹中每个文本文件的第一行并将其放入新文件中。

• 活动 4

自我计数(5 点)
统计运行的脚本文件中的所有字符数(不包括回车换行符)。

• 活动 5

相差多少?(10 点)
找出当前日期和脚本命令行输入的日期参数之间相差的月份数和天数。

• 活动 6

茶歇(10 点)
找出文本文件中独特的条目并统计这些条目的数量。

• 活动 7

修复缺陷(10 点)
修复给定脚本中的错误,使其能正常运行。

• 活动 8

猜随机数(15 点)
生成一个随机数,然后让用户猜这个随机数,在此过程中提示用户当前所猜的数值是大于还是小于随机生成的数值。

• 活动 9

游泳池派对(15 点)
从 Microsoft Access 2003 数据库的表格中读取字段,然后根据字段中的数据进行计算。

• 活动 10

保龄球(10 点)
提供保龄球比赛的分数卡(以数组的形式),计算最终得分。

    高级组
• 活动 1

我能否知道您的电话号码?(10 点)
向参赛人员提供一个七位数电话号码,他们需使用标准电话拨号盘上的字母来构建一个词,其中的字母对应于电话号码中的数字。

• 活动 2

冰上激情(10 点)
读取包含花样滑冰比赛得分信息的文本文件,然后确定获胜者。

• 活动 3

即刻(对决)优胜者(20 点)
根据文本文件中找到的数据确定“即刻对决”选举的优胜者。

• 活动 4

想象万岁(5 点)
提示输入月份和年份,然后根据该输入向命令窗口输出一个样式精美的日历。

• 活动 5

您称之为强密码?(5 点)
提示输入一个密码,然后根据提供的一组标准来确定密码的强度。

• 活动 6

素数时间(5 点)
计算并显示 1 到 200 之间的所有素数。

• 活动 7

打球!(10 点)
安排有六个球队参加的联赛场次。

• 活动 8

制作美妙的音乐(15 点)
从 .csv 文件中读取曲目名称和长度,然后创建指定长度的播放列表。

• 活动 9

变换词义(5 点)
读取文本文件,颠倒每个词中的字母,然后输出该文件的内容:

• 活动 10

二十一点!(10 点)
坐庄并玩单局二十一点纸牌游戏(二十一点)。
有意思, 建议大家都去试试

可使用的脚本语言:

• VBScript

• Windows PowerShell

• Perl

Lonki 老大特意把perl加粗了
感觉所有的题都是perl的强项

只是做着玩 不对的地方  请多多指教

初级组

活动1

[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/perl
my @array = qw(spades7 hearts5 diamonds7 clubs7 clubsK);
my $inum = 0;

for(my $i=0;$i<5;$i++){
        my $str = shift @array;
        my $basestr = substr("$str",-1);

        foreach(@array){
                my $base = substr("$_",-1);
                        if($basestr eq $base){
                                print "$str-$_\n";
                                $inum ++;
                        }               
        }
}

print "num is $inum\n";

能使用Windows Batch Script么?
win的环境中写的不爽死了


QUOTE:
原帖由 hitsubunnu 于 2008-2-18 13:42 发表
感觉所有的题都是perl的强项

只是做着玩 不对的地方  请多多指教

初级组

活动1

#!/usr/bin/perl
my @array = qw(spades7 hearts5 diamonds7 clubs7 clubsK);
my $inum = 0;

for(my $i=0;$i

按照要求的话是不对的,应该输出

[Copy to clipboard] [ - ]
CODE:
spades7 与 diamonds7 ,spades7 与 clubs7, diamonds7 与 clubs7
总共3对。



QUOTE:
原帖由 __lxmxn__ 于 2008-2-18 19:11 发表
能使用Windows Batch Script么?

拿来练习肯定不可以的,不过用来参加比赛估计就不行了吧。
不过要是用批处理写还是很期待的。


QUOTE:
原帖由 lonelyair 于 2008-2-19 09:15 发表


按照要求的话是不对的,应该输出
spades7 与 diamonds7 ,spades7 与 clubs7, diamonds7 与 clubs7
总共3对。

朋友麻烦你看清楚了好吗

1。print "$str-$_\n";

2。 print "num is $inum\n";


QUOTE:
原帖由 hitsubunnu 于 2008-2-19 11:04 发表

朋友麻烦你看清楚了好吗

1。print "$str-$_\n";

2。 print "num is $inum\n";


惭愧,看漏了。