« [JavaScript] 即時字數統計 [作業­2] 由檔案讀取成績並計算平均 - Perl »

三月14

[作業­1] 串列與陣列練習 - Perl

tags | 1,496 views


題目:

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";
    }
}
Trackback:

Leave a Reply