fortran77 长语句如何换行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fortran77 长语句如何换行相关的知识,希望对你有一定的参考价值。

现有程序的F77格式的,我想在里面加一个算式
FVEC(1)=EXP(X(1)/R-G(1))+EXP(X(2)/R-G(2))+EXP(1/R*2*X(1)-G(3))+EXP(1/R*2*X(2)-G(4))+EXP((2*X(1)+X(2))/R-G(5))+EXP(1/R*(X(1)+X(2))-G(6))+EXP(1/R*(X(1)+2*X(2))-G(7))+EXP(1/R*2*(X(1)+X(2))-G(8))-1.0
这个公式太长,请问应该如何换行。我尝试过加&或者¥,但是都不好使,提示有错误。

固定格式:直接换行,在下一行的第6格写上 &

大多数 F77 编辑器会把这一格显示为绿色
参考技术A 现有程序的F77格式的,我想在里面加一个算式
FVEC(1)=EXP(X(1)/R-G(1))+EXP(X(2)/R-G(2))+EXP(1/R*2*X(1)-G(3))+EXP(1/R*2*X(2)-G(4))+EXP((2*X(1)+X(2))/R-G(5))+EXP(1/R*(X(1)+X(2))-G(6))+EXP(1/R*(X(1)+2*X(2))-G(7))+EXP(1/R*2*(X(1)+X(2))-G(8))-1.0
Fortran源自于“公式翻译”(英语:FormulaTranslation)的缩写,是一种编程语言。它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。Fortran 90之前的版本是人们所知晓的FORTRAN(全部字母大写),从Fortran 90以及以后的版本都写成Fortran(仅有第一个字母大写)。

带有格式化换行符的单个 Fortran WRITE 语句? [复制]

【中文标题】带有格式化换行符的单个 Fortran WRITE 语句? [复制]【英文标题】:Single Fortran WRITE statement with formatted line breaks? [duplicate] 【发布时间】:2020-12-12 20:46:56 【问题描述】:

我想用 Fortran 写一段文字,包含一些故障排除信息,这需要几行,如下所示:

/!\  Troubleshooting! /!\

Seems your input is not formatted properly!
Accepted keywords are:
value1
value2
value3
value4

一个简单的方法是:

write(*,*)'/!\  Troubleshooting! /!\'
write(*,*)''    
write(*,*)'Seems your input is not formatted properly!'
write(*,*)'Accepted keywords are:'
write(*,*)'value1'
write(*,*)'value2'
write(*,*)'value3'
write(*,*)'value4'

我可以在一个写语句中转储所有文本,没错,但这会导致阅读混乱!

write(*,'(A)')'/!\  Troubleshooting! /!\    &
Seems your input is not formatted properly! &  
Accepted keywords are:                      &
value1                                      &
value2                                      &
value3                                      &
value4                                      &

像这样!

strelok@Yggdrasil:~$ ./write.exe
/!\  Troubleshooting! /!\     Seems your input is not formatted properly! Accepted keywords are:                       value1                                      value2                                      value3                                      value4

但我希望有更多...有趣的东西!实际上,我希望文本中的单个 WRITE 语句有一些换行符(无需编写新的 WRITE 语句!),因此它可以通过多种方式以“格式化”方式产生!

有什么建议吗?

【问题讨论】:

我不记得如何在 FORTRAN 中执行此操作,但在 C 中您可以将 \n 放入 printf 或 putchar 函数中。 en.wikipedia.org/wiki/… 【参考方案1】:

您可以插入new_line('A') 字符,请参阅https://gcc.gnu.org/onlinedocs/gfortran/NEW_005fLINE.html。

write(*,'(A)')'/!\  Troubleshooting! /!\//new_line('A')//&
Seems your input is not formatted properly!//new_line('A')//&  
...

【讨论】:

以上是关于fortran77 长语句如何换行的主要内容,如果未能解决你的问题,请参考以下文章

大家好,由于一些原因,本人需要接触Fortran,有如下疑问。

c++编程中语句太长如何换行

fortran 字符串太长 如何换行

将Fortran 77代码转换为Python

在文件上写入编译错误日志 - Fortran 77

在 FORTRAN 77 中阅读带有注释的输入