回 帖 发 新 帖 刷新版面

主题:求助

求电子版的Fortran学习指导书,谢谢。

回复列表 (共8个回复)

沙发

回国吧,国内正是大大地需要“人力”的时候...

板凳

可以声明一个三维数组,第一维是年份,第二维是月份,第三维是当天的降雨量。例如,1976年11月1日的数组元素是: D(1976,11,130)
这样一来,把文件里空白的地方用程序算出来并输出结果该是一个比较简单的事,而麻烦的是把数据读入三维数组

3 楼

算法很简单,就如同楼主的汉语一样简单
就是麻烦点,用tanchuhan的话来说,就是“纯力气活”。

4 楼

会的简单,可是不会的就是难于上青天了!关键是算法我也不会,麻烦点倒无所谓的。能否给点建议怎么实现算法,我知道如何将数据读入三纬数组。

5 楼

假设你已经把数据读入三维数组了,下面以10年为例:

Option Explicit
Dim D(1 To 10, 1 To 12, 1 To 31) As Integer
Dim i As Integer, j As Integer, k As Integer

Private Sub Command1_Click()
Dim period As Integer
period = Val(InputBox$("请输入日期:"))
If period > 0 And period < 32 Then MsgBox "该日的平均降雨量为:" & dMean(period)
End Sub

Private Sub Command2_Click()
Dim period As Integer
period = Val(InputBox$("请输入月份:"))
If period > 0 And period < 13 Then MsgBox "该月的平均降雨量为:" & mMean(period)
End Sub

Private Function dMean(period As Integer) As Long '计算所有年份、所有月份某天的平均值
Dim Total As Long
For i = 1 To 10
  For j = 1 To 12: Total = Total + D(i, j, period): Next '把所有年份、所有月份这一天的数据累加
Next
dMean = Total / 120
End Function

Private Function mMean(period As Integer) As Long '计算所有年份某月的平均值
Dim Total As Long, m(1 To 10) As Long
For i = 1 To 10
  For k = 1 To 31: m(i) = m(i) + D(i, period, k): Next '把这个月的日降雨量累加,计算出月降雨量
Next
For i = 1 To 10: Total = Total + m(i): Next '把所有年份的月降雨量累加
mMean = Total / 10
End Function

注意2点:
1.数据精度,我这都是整形
2.大月小月平年润年的天数问题

其它还有许许多多的求“平均值”,如年平均值,某年内的日平均值或月平均值,某年某月的日平均值,等等,要靠你自己去绞尽脑汁了,但只要有了三维数组,应该都不难,我这不过是抛砖引玉罢了

6 楼

浪费职位!

7 楼

6楼什么意思?不帮忙就算了,还发什么,,,??

8 楼

[quote]浪费职位![/quote]

干嘛那么当真
我估计没有那么笨的外国老板
又不是我们的公务员

我来回复

您尚未登录,请登录后再回复。点此登录或注册