#求Mr_A中每一列1,2,3,4,的个数,我编了一个小程序,有错误,但是不知道哪里错# N为 Mr_A的行数;$count=0;for (my $i=0; $i<=$N-1;$i++){while ($Mr_A[$i][0]==1){$count++;}}print “$count\n”;#以上程序是求数组Mr_A第一列中1的个数,不知道哪里错了 求大神、、我的意思就是统计每一列的1,2,3,4 的个数,上面这个程序是统计第一列1的个数,但是打印不出来,不知道有没有办法解决啊
4 回答
婷婷同学_
TA贡献1844条经验 获得超8个赞
错在:
while ($Mr_A[$i][0]==1){
$count++;
}
因为 $Mr_A[$i][0] 如果是 = 1 的话, 那永远也是等於 1, 因为你在回路中没有改变过$Mr_A[$i][0] 的值, 所以就不可能跳出来了.
你可以这麼做的
foreach my $row ( 0.. $#Mr_A ) {
my %item;
foreach my $col ( @{$Mr_A{$row}} ) {
++$item{$col}
}
print "In Row $row: $/";
print "\tThere are $item{$_} of $_$/" foreach sort {$a<=>$b} keys %item;
print $/;
}
- 4 回答
- 0 关注
- 1214 浏览
添加回答
举报
0/150
提交
取消