❶ fortran编程错误
你的fortran程序有两处问题,
1len=11写成了len-11
2weekday写成了weekend
完整的程序如下(改动的地方见注释)
PROGRAM weekday_weekend
IMPLICIT NONE
CHARACTER(len=11)::c_day
CHARACTER(len=11)::c_type !这里把(len-11)改成(len=11)
WRITE(*,*)'Enter the name of the day:'
READ(*,*)c_day
SELECT CASE(c_day)
CASE('Monday','Tuesday','Wednesday','Thursday','Friday')
c_type='Weekday' !这里把Weekend改成Weekday
CASE('Saturday','Sunday')
c_type='Weekend'
CASE DEFAULT
c_type='Invalid day'
END SELECT
WRITE(*,*)'Day Type=',c_type
END PROGRAM weekday_weekend
❷ fortran编译时停止工作
感觉是不兼容的问题,我以前在xp上运行fortran power station 4.0一点问题没有,但是在win8上用时,第一次编译连接及运行没问题,但是第二次运行时就出现了跟你一样的问题!
❸ intel visual fortran无法编译fortran
ivf里面对语句的严谨性要求较高,我以前很多在CVF里面可以运行的程序在ivf里面都会报错。一般错在变量声明和传递当中,以前采用的办法就是一个一个的修改。比如有时候数组传递使用arr(n)这种方式,而不用之前的arr(:)。
❹ 这个FORTRAN程序编译通不过,是我的版本问题么
outputfile
在某些地方你写错了,写成了 outptfile
另外,statues 应该是 status
❺ fortran 编译器无法编译大文件
既然懒得修改程序以符合新规范,那么就去找个可以容忍老东西的编译器
你可以试试看g77(gcc的Fortran77编译器,支持Fortran66和Fortran77规范),
你的程序如果只是老而不是错误的话……总不会比1966版标准还古老吧。
不过g77通常在Linux/UNIX下面使用,而且新版Linux自带的gcc4系列已经淘汰g77了,
也就是说你得找个足够老的Linux或者足够老的gcc(大概Linux Redhat9够老)。
老的Linux对新电脑估计控制能力不够,新电脑装不上的话,就在虚拟机里面装。
当然了,完全没碰过Linux的话,有这时间装Linux早就把程序改好了。
❻ Fortran编译失败。
program main
integer::A,I,N ! 声明变量类型
A=1
I=1
read(*,*)N
10 if( I.lt.N) then ! 这里只能用数字,不能用字母
I=I+1
A=A*I
goto 10 ! 同上,这里只能用数字,不能用字母
endif
print*,'A=',A
read(*,*) !可以不要,只是为了停住计算界面
end
❼ FORTRAN编译就只有一个编译错误无其他错误,但是无法编译。
调出视图---错误列表窗口即可,在VIEW里面,快捷键ctrl+\然后ctrl+e。根据提示的错误修改代码。
❽ Fortran在编译时出现错误
1、串长的定义用了变量;
2、串中使用了全角的双引号 或 转义串部分无串界线符
❾ fortran 编译出错 error LNK2001:unresolved external symbol_SGN@4 急
sgn的参数必须是real*8的变量,因为没看到您的调用语句,猜想您调用sgn时可能把参数写成了k,比如:
xxx=sgn(k(i))
之类的~~~~
❿ 请问一个fortran编译错误问题,是怎么回事谢谢!
forrtl:
severe
(161):
program
exception
-
array
bounds
exceeded
这个错误指的不是数组大小溢出,而是访问数组元素时超过了边界。比如:
integer,dimension(10)::a
a(11)=1
请你仔细检查一下。如有问题再交流,可以把程序贴上来。