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

三月 14th, 2006

題目:

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

Other

  1. No comments yet.
  1. No trackbacks yet.