- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Perl练习题.
2.12 练习
写一个程序,计算半径为12.5的圆的周长。圆周长等于2π(π约为3.1415926)乘以半径。答案为78.5。
#!/usr/bin/perl
$r=12.5;
$pai=3.1415926?;
$C=2*$pai*$r;
Print “$C\n”;
修改上述程序,用户可以在程序运行时输入半径。如果,用户输入12.5,则应得到和上题一样的结果。
#!/usr/bin/perl
$r=STDIN;
$pai=3.1415926?;
$C=2*$pai*$r;
Print “$C\n”;
修改上述程序,当用户输入小于0 的数字时,程序输出的周长为0,而非负数。
#!/usr/bin/perl
$r=STDIN;
$pai=3.1415926?;
if($r=0){
$C=2*$pai*$r;
}
If($r0){
$C=0;
}
Print “$C\n”;
写一个程序,用户能输入2 个数字(不在同一行)。输出为这两个数的积。
#!/usr/bim/perl
$a=STDIN;
$b=STDIN;
$c=$a*$b;
Print”$c”;
写一个程序,用户能输入1 个字符串和一个数字(n)(不在同一行)。输出为,n 行这个字符串,1 次1 行(提示,使用“x”操作符)。例如,如果用户输入的是“fred”和“3”,则输出为:3 行,每一行均为fred。如果输入为“fred”和“299792”,则输出为299792 行,每一行均为fred。
#!/usr.bin/perl
$string=STDIN;
$int=STDIN;
$output=$string x $int
print $output;
3.9练习
写一个程序,将一些字符串(不同的行)读入一个列表中,逆向输出它。如果是从键盘输入的,那在Unix 系统中应当使用CTRL+D 表明end-of-file,在Windows 系统中使用CTRL+Z.
写一个程序,读入一串数字(一个数字一行),将和这些数字对应的人名(下面列出的)输出来。(将下面的人名列表写入代码中)。fred betty barney dino Wilma pebbles bamm-bamm
例如,当输入为1,2,4 和2,则输出的为fred, betty, dino, 和betty
写一个程序,将一些字符串(在不同的行中)读入一个列表中。然后按ASCII 顺序将它们输出来。也就是说,当输入的字符串为fred, barney, wilma, betty,则输出为barney betty fred wilma。分别在一行或不同的行将之输出。
1:
#!/usr/bin/perl -w
@michael=reverse();
print @michael;
或:
#!/usr/bin/perl -w
@userinput=STDIN;
foreach (@userinput)
{
unshift (@array,$_);
}
print array is @array\n;
2:
#!/usr/bin/perl
@name=qw(fred betty barney dino Wilma pebbles bamm-bamm);
@number=;
foreach (@number)
{
print $name[$_-1]\n;
}
3:
#!/usr/bin/perl
@array=;
@array=sort @array;
print @array;
4.11练习
写一个名为total 的子程序,返回一列数字的和。
提示:子程序不应当有任何的I/O 操作;它处理调用的参数,返回处理后的值给调用者。结合下面的程序来练习,它检测此子程序是否正常工作。第一组数组之和我25。
my @fred = qw{ 1 3 5 7 9 };
my $fred_total = total(@fred);
print The total of \@fred is $fred_total.\n;
print Enter some numbers on separate lines: ;
my $user_total = total(STDIN);
print The total of those numbers is $user_total.\n;
利用上题的子程序,写一个程序计算从1 到1000 的数字的和。
额外的练习:写一个子程序,名为above_average,将一列数字作为其参数,返回所有大于平均值的数字(提示:另外写一个子程序来计算平均值,总和除以数字的个数)。利用下面的程序进行测试:
my
文档评论(0)