以下的程序,输出一串数字中比平均值大的数,其中有两个问题值得注意,具体请看程序中的注释。
#!/bin/perl
sub above_average
{
$number=@_;
foreach $how(@_)
{
$total=$total+$how;
}
$the_average=$total/$number;
foreach (@_)
{
if ($_>$the_average)
{
push(@larger,$_)#这里不用赋值,数组元素的添加,直接用push就好了
}
}
@larger;#子程序的返回值,一定要有,刚开始没有写
}
print "please input several numbers,and you will get the number which is large than their averagen";
@the_number_input=<STDIN>;
@the_number_larger=above_average(@the_number_input);
print "@the_number_largern";