早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用perl 编程,数据如下 :12 a 4 5 6 7 13 a 8 5 7 914 a 4 2 9 615 b 7 9 5 616 b 2 3 4 65行6列的数据格式.第二列有重复的元素,现在想合并重复的元素,例如,第一行第二列是a,第二行第2列也

题目详情
用perl 编程,数据如下 :
12 a 4 5 6 7
13 a 8 5 7 9
14 a 4 2 9 6
15 b 7 9 5 6
16 b 2 3 4 6
5行6列的数据格式.第二列有重复的元素,现在想合并重复的元素,例如,第一行第二列是a,第二行第2列也是a,第三行也是a,则需要把(4+8+14)/3,(5+5+2)/3,等等,每列依次这样处理,最后得到这样的结果,a +每列的平均数.不知道我说清楚了吗.谢谢大家了
▼优质解答
答案和解析
open IN,"E:/temp/a"||die $!;while(){ @a=split(); $lines=shift(@a); $ch=shift(@a); push(@{$hash{$ch}},@a);}for $i(keys %hash){ @value=@{$hash{$i}}; print $i."\t"; for($m=0;$m