mervin_li的个人空间 https://blog.eetop.cn/1582944 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

《Perl语言入门》习题解1-5章

热度 2已有 1365 次阅读| 2016-10-20 13:18 |系统分类:芯片设计

学习Perl语言入门(东南大学出版),看到课后有习题,就自己尝试进行解答并测试运行的题集。
第一章 简介

ex1-1:
#!/usr/bin/perl
$n = "Hello world!";
print $n;

哈哈,程序语言学习的惯例,Hello world!

ex1-2:
perldoc -u -f atan2

这是调用显示perl的内置函数:反正切函数

ex1-3:
#! /usr/bin/perl
@lines = `perldoc -u -fatan2`;
foreach (@lines) {
 s/\w<([^>]+)>/\U$1/g;
 print;
}
 运行结果显示内容和1-2相同,不过是直接显示在命令行界面

第二章 标量数据

ex2-1:
#!/usr/bin/perl
$r = 12.5;
$length = $r * 2 * 3.141592654;
print "$length \n";

ex2-2:
#!usr/bin/perl
$r = <STDIN>;
$length = $r * 2 * 3.141592654;
print "$length \n";

ex2-3:
#!/usr/bin/perl
$r = <STDIN>;
if ($r > 0) {
  $length = $r * 2 *3.141592654;
  print "$length \n";
} else {
  print "0";
}

ex2-4:
#!/usr/bin/perl
print “please input first num: \n”;
$num1 = <STDIN>;
print "please input second num: \n";
$num2 = <STDIN>;
$sum = $num1 * $num2;
print "The sum is $sum \n";

ex2-5:
#!/usr/bin/perl
print "please input a word: \n";
$char = <STDIN>;
print "please input a num: \n";
$num = <STDIN>;
while ($num > 0) {
 print "$char\n";
 $num = $num -1;
}

第三章 列表与数组

ex3-1:
#!/usr/bin/perl
print "please input some chars:\n";
@char = <STDIN>;
@reverse_char = reverse @char;
chomp(@reverse_char);
print "@reverse_char\n";

ex3-2:
#!/usr/bin/perl
print "please input some num: \n";
@name = qw(allen bill coco dawei ella );
@num = <STDIN>;
foreach $index (@num) {
print "$name[$index -1]\n";
}

ex3-3:
#!/usr/bin/perl
print "please input some words:\n";
chomp(@char = <STDIN>);
@char = sort @char;
foreach $index (0 .. $#char) {
print "$char[$index]"\n;
}
print "@char\n";


第四章 子程序

ex4-1:
#!/usr/bin/perl
sub total {
 foreach (@_) {
    $sum = $sum + $_ ;
 }
 $sum;
}

ex4-2:
my $user_total = &total(<STDIN>);

ex4-3:

第五章 输入与输出

ex5-3:
仅以2行字符串为例(多行输入参考数组方法)
#!/usr/bin/perl
print "please input  char width:\n";
$width = <STDIN>;
print "then please inout chars:\n";
$char1 = <STDIN>;
$char2 = <STDIN>;
$s = "s";
$width = $width +1;
chomp($width2);
$format = "%$width2$s";

$n =0;
$m =0;
while ($n < $width) {
$n = $n +1;
$m = $m +1;
if ($m > 9) {
$m = 0;
}
}
printf "$format" , $char1;
printf "$format\n" ,$char2;
2

点赞

刚表态过的朋友 (2 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 138

    粉丝
  • 58

    好友
  • 152

    获赞
  • 54

    评论
  • 3168

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-8 01:01 , Processed in 0.015771 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部