perl习题先打印一个标尺然后以20字符宽向右对齐格式化输出

回复 收藏
写一个程序,要求用户分行键入各个字符串,然后以20个字符宽、向右对齐的方式输出。为了确定输出结果在适当的位置,需要先输出有数字组成的标尺。例如,你键入的字符串分别为 abc, abcd, 12ab9d 那么应该输出的内容为:
12345678901234567890123456789012345678901234567890
                             abc
                           abcd
                       12ab9d

程序为:
  1. #! /usr/bin/perl
  2. chomp (@a=);
  3. $n=1234567890;
  4. $m=$n x 5;
  5. print "$m\n";
  6. for (@a) {
  7.     printf "%20s\n",$_;
  8. }
2012-11-12 15:41 举报
已邀请:
0

阿铭 管理员

赞同来自:

改进楼上的题目,需要用户输入数字n,来决定以n字符宽向右对齐格式化输出。
  1. #! /usr/bin/perl
  2. print "Input a number:\n";
  3. chomp ($w=<STDIN>);
  4. print "Input some strings, and use Ctrl -D to finished.\n";
  5. chomp (@a=<STDIN>);
  6. $n=1234567890;
  7. $m=$n x 5;
  8. print "$m\n";
  9. $v=$w . "s";
  10. for (@a) {
  11.     printf "%$v\n",$_;
  12. }

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: