为什么fortran输出结果是0(程序如下图)? 5

 我来答
帐号已注销
2021-03-30 · TA获得超过3116个赞
知道大有可为答主
回答量:4114
采纳率:0%
帮助的人:275万
展开全部

问题出在,程序没有给数组f赋值。f1,f2,f3,f4默认都是real*4实数变量,并没有赋值给f。

对数组的赋值有两种方式,一种是f(i)=,也就是指定数组的下标。另一种是数组整体运算,比如f=100,它的所有单元都赋值100。

修改了程序,第一段赋值是整体运算赋值,第二段循环内用的是逐个赋值。分别打印输出。

希望能帮到你。

以下是输出结果。

追答

补充一下。

对real*8变量赋值,最好是用双精度形式,这样才能保证达到real*8的精度。

对语句的改动如下图

相应的计算结果如下

紫薇参星
科技发烧友

2021-03-30 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3614万
展开全部

你的fortran程序数组用法不对,导致输出结果为0

改正后的Fortran程序如下,注意数组的用法

program main

REAL(8) c(4),f(4)

f(1)=180.0

f(2)=100.0

f(3)=40.0

f(4)=10.0

do i=1,4

 c(i)=(5.0/9.0)*(f(i)-32.0)

end do

do i=1,4

 print *,c(i)

end do

END

源代码

运行结果

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式