求助:if语句嵌套在循环语句内出现的问题
我的目的是将每行数据小于2的个数计算出来,在循环语句内嵌一个if判断语句,但是计算结果每行小于2的数据个数确是0,不知道问题出在哪,请指点一下迷津,感激不尽!PROGRAM PCM
implicit none
integer:: ndc=10,npc=231,i,j,m
real*8, allocatable ::opt_all(:,:)
allocate(opt_all(ndc,npc))
open(10,file="opt_all.txt") !!!读取数据
do i=1,ndc
read(10,*)(opt_all(i,j),j=1,231)
enddo
close(10)
do i=1,ndc
m=0
do j=1,npc
if(opt_all(i,j)<2)then
m=m+1
endif
enddo
print*,m
pause
enddo
END PROGRAM 你的编译器不允许PAUSE语句吧。这个语句被废止了,建议用 read(*,*) 代替。
此外,可以用 count 简化你的代码
Program pcm
Implicit None
Integer :: ndc = 10, npc = 231, i
Real *8, Allocatable :: opt_all(:, :)
Allocate (opt_all(ndc,npc))
Open (10, File='opt_all.txt') ! !!读取数据
Do i = 1, ndc
Read (10, *) opt_all(i,:)
write(*,*) count( opt_all(i,:)<2.0d0 )
read(*,*)!PAUSE
End Do
Close (10)
End Program pcm 楚香饭 发表于 2015-9-11 14:22
你的编译器不允许PAUSE语句吧。这个语句被废止了,建议用 read(*,*) 代替。
此外,可以用 count 简化你的代 ...
感谢您的修正~但是按这个程序运行的结果仍然显示的是0,数据明明有小于2的情况,我也仔细检查了程序,不晓得问题出在哪,麻烦您再给看看是什么问题啊,感谢!!! 多按几下回车,后面就不是 0 了。前两行好像都是 0 fcode 发表于 2015-9-11 16:17
多按几下回车,后面就不是 0 了。前两行好像都是 0
奥,我明白了,前几行是没有小于0的情况:-L
页:
[1]