文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
最新Perl语言入门(第四版)习题答案
2.12 练习
1、写一个程序,计算半径为12.5的圆的周长。圆周长等于2π(π约为3.1415926)乘以半
径。答案为78.5。
-----------------------/home/confish/perl/girth #!/usr/bin/perl -w
#this program calculate a circle's girth
$r=12.5;
$g=12.5*2*3.1415;
print \
-----------------------/home/confish/perl/girth
2、修改上述程序,用户可以在程序运行时输入半径。如果,用户输入12.5,则应得到和上
题一样的结果。
-----------------------/home/confish/perl/girthpro #!/usr/bin/perl -w
#a better one to calculate girth
print\chomp($r=
print\ } else {
print\ }
-----------------------/home/confish/perl/girthpro
3、修改上述程序,当用户输入小于0 的数字时,程序输出的周长为0,而非负数。 -----------------------/home/confish/perl/girthzero #!/usr/bin/perl -w
#calculate the girth and print 0 when the radius is lower than 0
print\chomp($r=
print\ } else
1文档来源为:从网络收集整理.word版本可编辑.
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
{
print\ }
-----------------------/home/confish/perl/girthzero
1、2、3:(一起实现的)
#!/usr/bin/perl -w $pai=3.4;
print \$r=
print \ }else{
$l=$r*2*$pai;
printf \}
4、写一个程序,用户能输入2 个数字(不在同一行)。输出为这两个数的积。
-----------------------/home/confish/perl/product #!/usr/bin/perl -w
#print the two number's product #
print\chomp($m=
print\-----------------------/home/confish/perl/product
5、写一个程序,用户能输入1 个字符串和一个数字(n)(不在同一行)。输出为,n 行这个
字符串,1 次1 行(提示,使用“x”操作符)。例如,如果用户输入的是“fred”和“3”,则输出为:3 行,每一行均为fred。如果输入为“fred”和“299792”,则输出为299792 行,每一行均为fred
-----------------------/home/confish/perl/printer #!/usr/bin/perl -w
#print a string certain times depend on the usr's input #
print\$str=
chomp($num=
-----------------------/home/confish/perl/printer
3.9 练习
1、写一个程序,将一些字符串(不同的行)读入一个列表中,逆向输出它。如果是从键盘
输入的,那在Unix 系统中应当使用CTRL+D 表明end-of-file,在Windows 系统中使用CTRL+Z.
------------------------------------/home/confish/reprint
1文档来源为:从网络收集整理.word版本可编辑.
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
#!/usr/bin/perl -w
#read some input and print them in reverse sequence #
print \@str=reverse
print \
------------------------------------/home/confish/reprint
2、写一个程序,读入一串数字(一个数字一行),将和这些数字对应的人名(下面列出的)
输出来。(将下面的人名列表写入代码中)。fred betty barney dino Wilma pebbles bamm-bamm 例如,当输入为1,2,4 和2,则输出的为fred, betty, dino, 和betty ------------------------------------/home/confish/num_to_name #!/usr/bin/perl -w
#read some numbers and output the match name # $i=0;
@names=qw /fred betty barney dino Wilma pebbles bamm-bamm/; print\chomp(@nums=
@re=@names; while($i ne $_) {
$n=shift( @re); $i++; }
$i=0; print $n,\}
------------------------------------/home/confish/num_to_name
3、写一个程序,将一些字符串(在不同的行中)读入一个列表中。然后按ASCII 顺序将它
们输出来。也就是说,当输入的字符串为fred, barney, wilma, betty,则输出为barney betty fred wilma。分别在一行或不同的行将之输出。
------------------------------------/home/confish/sort_str #!/usr/bin/perl -w
#read some strings and sort them in ASCII #
chomp(@str=sort
#@str=sort
------------------------------------/home/confish/sort_str
4.11练习
1、写一个名为&total 的子程序,返回一列数字的和。
1文档来源为:从网络收集整理.word版本可编辑.