perl 读取大容量的文件的前两行,程序该怎么写
1个回答
展开全部
open(FD,$ARGV[0]);
my(@c,$g,$e,$l);#count,greater,equal,less
my($s,$n,$i);
$i=1;
while($s=<FD>){
$s=~s/[^a]//g;
$n=length($s);
$c[$i]=$n;
$g++ if ($n>5);
$e++ if ($n==5);
$l++ if ($n<5);
$i++;
}
close(FD);
$n=$g+$e+$l;
print "a>5 $g ".($g*100/$n)."%\n";
print "a=5 $e ".($e*100/$n)."%\n";
print "a<5 $l ".($l*100/$n)."%\n";
上面的程序测试通过,完全满足你的要求,结果是正确的。
my(@c,$g,$e,$l);#count,greater,equal,less
my($s,$n,$i);
$i=1;
while($s=<FD>){
$s=~s/[^a]//g;
$n=length($s);
$c[$i]=$n;
$g++ if ($n>5);
$e++ if ($n==5);
$l++ if ($n<5);
$i++;
}
close(FD);
$n=$g+$e+$l;
print "a>5 $g ".($g*100/$n)."%\n";
print "a=5 $e ".($e*100/$n)."%\n";
print "a<5 $l ".($l*100/$n)."%\n";
上面的程序测试通过,完全满足你的要求,结果是正确的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询