三月14
[作業1] 串列與陣列練習 - Perl
->
題目:
1. 試著把串列 (24, 33, 65, 42, 58, 24, 87) 放入陣列中,並讓使用者輸入索引值 (0…6),然後印出陣列中相對應的值。
2. 把剛剛的陣列進行排序,並且印出排序後的結果。
3. 取出陣列中大於40的所有值。
4. 將所有陣列中的值除以 10 後印出。
實作:
#!/usr/bin/perl
use strict;
my @array = (24, 33, 65, 42, 58, 24, 87);
while (1) {
print "1) Select No.1 \n";
print "2) Select No.2 \n";
print "3) Select No.3 \n";
print "4) Select No.4 \n";
print 'Please enter a number: '; chomp($_ = <>);
if ($_ == 1) {
while (1) {
print "Please enter 0-6 ('q' to exit): ";
chomp($_ = <>);
last if ($_ eq 'q');
print $array[$_]."\n";
}
} elsif ($_ == 2) {
my @array_sort = sort(@array);
print "$_\t" for @array_sort;
print "\n";
} elsif ($_ == 3) {
my @sift = grep {$_ > 40} @array;
print "$_\t" for @sift;
print "\n"
} elsif ($_ == 4) {
my @answer = map {$_ / 10} @array;
print "$_\t" for @answer;
print "\n";
}
}
use strict;
my @array = (24, 33, 65, 42, 58, 24, 87);
while (1) {
print "1) Select No.1 \n";
print "2) Select No.2 \n";
print "3) Select No.3 \n";
print "4) Select No.4 \n";
print 'Please enter a number: '; chomp($_ = <>);
if ($_ == 1) {
while (1) {
print "Please enter 0-6 ('q' to exit): ";
chomp($_ = <>);
last if ($_ eq 'q');
print $array[$_]."\n";
}
} elsif ($_ == 2) {
my @array_sort = sort(@array);
print "$_\t" for @array_sort;
print "\n";
} elsif ($_ == 3) {
my @sift = grep {$_ > 40} @array;
print "$_\t" for @sift;
print "\n"
} elsif ($_ == 4) {
my @answer = map {$_ / 10} @array;
print "$_\t" for @answer;
print "\n";
}
}


近期留言