寻找一个perl脚本来添加和选择最后一个数字

时间:2013-12-05 01:17:13

标签: perl

我正在尝试编写一个简单的perl脚本来学习Perl。这是我用户输入编写的第一个脚本。脚本需要在make添加功能后获取最后一个数字任何帮助将不胜感激。以下是我到目前为止的情况。

示例用户输入9423,然后脚本添加功能如下

09 + 04 = 13

04 + 02 = 06

02 + 03 = 05

03 + 09 = 12

print "Enter 4 Digits Number";#9423
chomp($number = <STDIN>);

编辑

如何选择最后2位数字,结果为3652

#!/usr/bin/perl
my @nums = ("9423" =~ /(\d{1})/g);
my $a = $nums[0];
my $b = $nums[1];
my $c = $nums[2];
my $d = $nums[3];
my $ab= $a+$b;
my $bc= $b+$c;
my $cd= $c+$d;
my $da=  $d+$a;

printf "%02d\n%02d\n%02d\n%02d\n", $ab, $bc, $cd, $da;

3 个答案:

答案 0 :(得分:0)

最简单的方法是使用for循环和子串

编辑(现已测试):

for my $i (0 .. length($number)-2) {
    print substr($number, $i, 1) + substr($number, $i+1, 1);
}

答案 1 :(得分:0)

也许以下内容会有所帮助:

use strict;
use warnings;

print "Enter a 4 Digit Number: ";
chomp( my $num = <STDIN> );

my @nums = split //, $num;
$nums[ $#nums + 1 ] = $nums[0];

( $nums[$_] + $nums[ $_ + 1 ] ) =~ /(.)$/ and print $1 for 0 .. $#nums - 1;

输入9423后的输出:

3652

答案 2 :(得分:0)

我认为,此处代码会输出您的预期结果

#!/usr/bin/perl
use warnings;
use strict;

print "Enter 4 Digits Number:";#9423
chomp(my $number = <STDIN>);
my @digits = split("", $number);
my @lasts;
# add first digit to the last position
#digits = 94239
$digits[$#digits + 1] = $digits[0];

for(my $i = 0; $i < $#digits; $i++){
    $lasts[$i] = ($digits[$i] + $digits[$i + 1]) % 10;
}
print join "",@lasts,"\n";
输入编号9423后输出

3652