帮你改好了。严重错误只有一个,定义可分配数组一定要定义维数,比如你的这个
REAL,ALLOCATABLE:: NUMBER( ) 这句的逗号要改成英文的,NUMBER( )要改成一维的数组NUMBER( :)或者二维的数组NUMBER( :,:)。修改后如下,你只要复制就可以咯。
PROGRAM TYPE_A_UNCERTAINTY
IMPLICIT NONE
INTEGER:: COUNT,I
REAL:: AVE,AVE_S,UA,UB
REAL::DELTA,U,R
REAL,ALLOCATABLE:: NUMBER(:)
WRITE(*,*) "请输入数据总数:"
READ(*,*) COUNT
WRITE(*,*) "请输入仪器的最小分度值:"
READ(*,*) DELTA
ALLOCATE(NUMBER(COUNT))
AVE=0
AVE_S=0
DO I=1,COUNT
WRITE(*,"('NUMBER',I2)") I
READ(*,*) NUMBER(I)
END DO
DO I=1,COUNT
AVE=AVE+NUMBER(I)
END DO
AVE=AVE/COUNT
WRITE(*,"('AVERAGE=',F5.2)") AVE
DO I=1,COUNT
AVE_S=AVE_S+(NUMBER(I)-AVE)**2
WRITE(*,"('AVERAGE_SQURAT=',F5.2)") AVE_S
END DO
AVE_S=AVE_S/(COUNT*(COUNT-1))
UA=SQRT(AVE_S)
WRITE(*,"('A类不确定度=',F5.2)") UA
UB=DELTA/1.732
WRITE(*,"('B类不确定度=',F5.2)") UB
R=UA**2+UB**2
U=SQRT(R)
WRITE(*,"('总不确定度=',F5.2)") U
END