zjzc01:/root/big# cat grades
A 70
B 80
C 90
D 50
E 60
F 80
zjzc01:/root/big# cat a6.pl
open(GRADES, "grades") or die "Can't open grades: $!\n";
while ($line = <GRADES>) {
($student, $grade) = split(" ", $line);
$grades{$student} .= $grade." " ;
};
print "\%grades is :\n";
print %grades;
print "\n";
print "\$grades{A} is $grades{A}\n";
foreach $student (sort keys %grades){
$scores = 0;
$total = 0;
push (@grade,$grades{$student});
};
print "\@grade is @grade\n";
foreach $grade (@grade){
$total +=$grade;
$scores++};
print "\$total is $total\n";
print "\$scores is $scores\n";
$average = $total / $scores;
foreach $student (sort keys %grades){
print "$student:$grades{$student}\tAverage :$average\n";
}
zjzc01:/root/big# perl a6.pl
%grades
Perl 计算平均值
最新推荐文章于 2024-07-15 22:13:36 发布