QQ 發問時間: 電腦與網際網路程式設計 · 1 0 年前

急求 perl高手幫忙 20點

rain_5yr.txt 是五年長度的每日降雨資料

(每一行為一日之降雨量,無閏年),請完成下列事項:

a. 請算出五年內每年之總降雨量

b. 請將每日一行的檔案,改寫為每月一行 (降雨量)

c, 算出每月平均降雨量,以及五年內降雨最多的三個月份

d. 五年內連續一週最大降雨為多少?

麻煩高手教我寫這四題的程式怎麼寫

2 個解答

評分
  • 1 0 年前
    最佳解答

    可以看一下rain_5yr.txt的內容嗎

    2009-04-22 16:51:21 補充:

    我已經加你即時通了,但你還沒有加我。

    2009-04-23 12:43:24 補充:

    #!/usr/bin/perl-w

    use strict;

    open (RA ,"$ARGV[0]") ; #raining的資料

    my @raining = <RA> ;

    close RA ;

    my @month = (31,28,31,30,31,30,31,31,30,31,30,31);

    my (@year_rain,@month_rain,@ave_month_rain,@max_month_rain,$max_week_rain);

    for (my $y = 1; $y<=5;$y++){

    my ($year_rain);

    my $day=0;

    my $day1=0;

    for (my $i = 0 ;$i<=$#month;$i++){

    my ($j,$month_rain,$week_rain, );

    while($month[$i]>$j){

    chomp $raining[$j];

    $year_rain += $raining[0] ; #年降雨量

    $month_rain += $raining[0] ; #月降雨量

    $week_rain += $raining[0] ; #週降雨量

    shift @raining;

    $j++;

    if(($j+1)%7==0 and ($week_rain >= $max_week_rain)){

    $max_week_rain = $week_rain;

    $week_rain = 0 ;

    }

    }

    push @month_rain,($month_rain);

    push @ave_month_rain , ($month_rain/$month[$i]);

    }

    push @year_rain , $year_rain;

    }

    for (@year_rain){

    print"每年之降雨量:$_\n";

    }

    open (OF, ">month_rain");

    for (@month_rain){

    print "每月之降雨量:$_\n";

    print OF "$_\n";

    }

    close OF;

    for (@ave_month_rain){

    print"每月平均之降雨量:$_\n";

    }

    my @month_rain = sort{$b <=>$a}@month_rain;

    print "五年內降雨最多的三個月份之降雨量:$month_rain[0]、$month_rain[1]、$month_rain[2]\n";

    print "五年內連續一週最大降雨量:$max_week_rain\n";

    你看看對不對,有問題再問我。

    參考資料: 自己
  • 1 0 年前

    如果可以麻煩請你家我即時通 我傳檔案給你 因為五年的降雨量有1825筆無法po上來

    aeyek即時通

還有問題?馬上發問,尋求解答。