Perl语言入门(第四版)习题答案
《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 #confish@ubuntu7.10 $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 #confish@ubuntu7.10 print\\chomp($r=); if($r>0) { 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 #confish@ubuntu7.10 print\\chomp($r=);
if($r>0) { print\\ } else { print\\ }
-----------------------/home/confish/perl/girthzero
1、2、3:(一起实现的)
#!/usr/bin/perl -w $pai=3.141592654; print \\$r=; if ( $r lt 0 ){ print \\ }else{ $l=$r*2*$pai; printf \\}
4、写一个程序,用户能输入2 个数字(不在同一行)。输出为这两个数的积。 -----------------------/home/confish/perl/product #!/usr/bin/perl -w #print the two number's product #confish@ubuntu7.10 print\\chomp($m=); chomp($n=);
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 #confish@ubuntu7.10 print\\$str=; chomp($num=);
print ${str}x$num;
-----------------------/home/confish/perl/printer 3.9练习
1、写一个程序,将一些字符串(不同的行)读入一个列表中,逆向输出它。如果是从键盘
输入的,那在Unix 系统中应当使用CTRL+D 表明end-of-file,在Windows 系统中使用CTRL+Z.
------------------------------------/home/confish/reprint #!/usr/bin/perl -w
#read some input and print them in reverse sequence #confish@ubuntu7.10 print \\@str=reverse ; print \\
------------------------------------/home/confish/reprint
2、写一个程序,读入一串数字(一个数字一行),将和这些数字对应的人名(下面列出的)