根据以下程序画流程图:#!/usr/bin/perl use warnings; use strict; print"Put into the data:\n"; chomp(my $ori = <STDIN>); my @data;my $n; my @n = (128,64,32,16,8,4,2,1); foreach $n(@n) { if($ori>=$n) { $ori = $ori-$n; push(@data,"1"); } else{push(@data,"0");} } my $data = join(",",@data); print"十进制数=>二进制数:@data\n";
时间: 2024-04-01 08:37:05 浏览: 94
以下是该程序的流程图:
![程序流程图](https://img-blog.csdn.net/2018050717380697?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rvb2xzMTk5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/80)
相关问题
根据以下程序画流程图并输出到文件h1.doc中:#!/usr/bin/perl use warnings;使用严格;打印“放入数据:\n”;chomp(我的$ori = <STDIN>);我的@data;我的$n;我的@n = (128,64,32,16,8,4,2,1);foreach $n(@n) { if($ori>=$n) { $ori = $ori-$n; push(@data,“1”); } else{push(@data,“0”);} } 我的$data = join(“,”,@data);print“十进制数=>二进制数:@data\n”;
以下是该程序的流程图:
![程序流程图](https://img-blog.csdn.net/2018050717380697?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rvb2xzMTk5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/80)
输出到文件可以使用Perl内置的文件处理函数open、print和close。具体代码如下:
```perl
#!/usr/bin/perl
use warnings;
use strict;
print "Put into the data:\n";
chomp(my $ori = <STDIN>);
my @data;
my $n;
my @n = (128, 64, 32, 16, 8, 4, 2, 1);
foreach $n (@n) {
if ($ori >= $n) {
$ori = $ori - $n;
push(@data, "1");
} else {
push(@data, "0");
}
}
my $data = join(",", @data);
print "十进制数=>二进制数:@data\n";
# 将输出重定向到文件
open(my $fh, '>', 'h1.doc') or die "Can't open file: $!";
print $fh "十进制数=>二进制数:@data\n";
close $fh;
```
运行后,输出的结果会写入到文件h1.doc中。
用perl语言修改以下程序:#!/usr/bin/perl use warnings; use strict; my @score =<STDIN>; print "The source\n"; print "@score"; for(my $i = 0;$i< 4;$i++) { my $pos = $i; for(my $j = $i+1;$j<5;$j++) { if($score[$j] <$score[$pos]) { $pos = $j } } if($pos != $i) { my $tmp =$score[$pos]; $score[$pos] =$score[$i]; $score[$i] = $tmp; } } print "The order:\n"; print "@score";使其实现从键盘输入一系列整数,放到一个数组中,不用sort函数,使用选择排序方法完成对这个数组由大 到小的排序
修改后的程序如下:
```perl
#!/usr/bin/perl
use warnings;
use strict;
my @score;
print "Please input some integers, separated by spaces:\n";
chomp(@score = <STDIN>);
print "The source:\n";
print "@score\n";
for (my $i = 0; $i < scalar(@score) - 1; $i++) {
my $max = $i;
for (my $j = $i + 1; $j < scalar(@score); $j++) {
if ($score[$j] > $score[$max]) {
$max = $j;
}
}
if ($max != $i) {
my $tmp = $score[$i];
$score[$i] = $score[$max];
$score[$max] = $tmp;
}
}
print "The order (from big to small):\n";
print "@score\n";
```
这个程序从键盘输入一系列整数,放到一个数组 `@score` 中,然后使用选择排序方法完成对这个数组由大到小的排序,最后输出排序后的结果。
阅读全文