第四章:子例程

上一篇 / 下一篇  2008-11-12 11:24:10 / 个人分类:《Perl语言入门》-小骆驼书-练习题答案

1)
use warnings;
sub total{
 chomp @_;
 my $sum;
 foreach (@_){
  #print $sum;
  $sum += $_;
 }
 return $sum;
}
my @fred = qw{ 1 3 5 7 9 };
my $fred_total = &total(@fred);
print "The total of \@fred is $fred_total.\n";
print "Enter some numbers on separate lines: ";
my $user_total = &total(<STDIN>);
print "The total of those numbers is $user_total.\n";

2)
use warnings;
sub total{
 chomp @_;
 my $sum;
 foreach (@_){
  #print $sum;
  $sum += $_;
 }
 return $sum;
}
#my $total = &total(1..1000);
#print "The total from 1 to 1000 is $total.\n";
print "The number from 1 to 1000 add up to ", &total(1..1000) ,".\n";

3)
use warnings;
sub above_average{
 my ($average, @above);
 $average = &average(@_);
 foreach (@_){
  if ( $_ > $average ){
   push @above, $_;
  }
 }
 return @above;
}
sub average{
#  my @num=@_;
#  $average = &sum(@_)/($#num+1);
#  print "average is $average\n";
 my $average = &sum(@_)/@_;
# print "average is $average\n";
# return $average;
}
sub sum(){
 my $sum;
 foreach (@_){
  $sum += $_;
 }
 print "Sum is $sum\n"; 
 return $sum;
}
my @fred = &above_average(1..10);
print "\@fred is @fred\n";
print "(Should be 6 7 8 9 10)\n";
my @barney = &above_average(100, 1..10);
print "\@barney is @barney\n";
print "(Should be just 100)\n";


TAG:

 

评分:0

我来说两句

日历

« 2024-04-21  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 47484
  • 日志数: 80
  • 建立时间: 2008-10-27
  • 更新时间: 2009-07-17

RSS订阅

Open Toolbar