第四章:子例程
上一篇 /
下一篇 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: