【发布时间】:2019-04-08 18:12:12
【问题描述】:
我正在做一项家庭作业,任务是获取四个用户输入的数字,然后比较它们以输出最大和最小的数字。我不能使用循环,所以我使用 if/else/elsif 语句,但我不断收到错误消息。到目前为止,我已经得到了这个,我不确定我做错了什么。
[社邦]
my $small;
my $big;
print "\nEnter first number: ";
chomp (my $one = <>);
print "\nEnter second number: ";
chomp (my $two = <>);
print "\nEnter third number: ";
chomp (my $three = <>);
print "\nEnter fourth number: ";
chomp (my $four = <>);
if ($one >= $two) {
$one = $big;
$two = $small;
}
else {
$one = $small;
$two = $big;
}
if ($three >= $big) {
$three = $big;
}
elsif ($three <= $small) {
$three = $small;
}
if ($four >= $big) {
$four = $big;
}
elsif ($four <= $small) {
$four = $small;
}
print "LRG: $big\n";
print "SML: $small\n";
理想情况下,您输入四个数字,它会输出最大和最小的数字。相反,我得到 “在 [filename].pl 第 29 行, 第 4 行的数字 ge (>=) 中使用未初始化的值 $big。”在第 29 和 36 行。 我也得到 “在连接 (.) 或字符串第 44 行, 第 4 行中使用初始化值 $small。”
【问题讨论】:
-
你所有的作业都是倒过来的。例如你说
$one = $big,你的意思是$big = $one -
成功了!谢谢!我想我不知道它必须是一种特定的方式来定义这样的变量。
标签: perl