我正在使用perl尝试pascals三角形。我得到的输出有点不同。有人能指出错误是什么吗?
我的节目是-我正在使用perl尝试pascals三角形。我得到的输出有点不同。有人能指出错误是什么吗?,perl,loops,Perl,Loops,我的节目是- @arr=('1','1 1'); print "enter the number of rows\n"; $rows=<STDIN>; $v=0; while($v<$rows) { foreach $ele (@arr) { @arr1=split(/\s+/,$ele); $g=@arr1; #print "$g\n"; $i=0;
@arr=('1','1 1');
print "enter the number of rows\n";
$rows=<STDIN>;
$v=0;
while($v<$rows)
{
foreach $ele (@arr)
{
@arr1=split(/\s+/,$ele);
$g=@arr1;
#print "$g\n";
$i=0;
$j=1;
$str='';
while ($j<$g)
{
$res=$arr1[$i]+$arr1[$j];
#print "$res\n";
$i=$1+1;
$j=$j+1;
$str=$str.' '.$res;
}
$final='1'.' '.$str.' '.'1';
print "$final\n";
}
$v=$v+1;
#@arr=();
push(@arr,$final);
}
print "@arr";
foreach (@arr)
{
print "$_\n";
}
最后一行的8应该是10。但是为什么会这样呢?问题在于:
$i=$1+1;
您想使用$i
而不是$1
你应该用,他们会告诉你的。我犯了一个打字错误。我没有用$I=$I+1,而是用$I=$1+1
$i=$1+1;