书上一个猜数字游戏代码总是报错,求大神帮忙看下。。
报错提示:IVF2011
!select case 语句范例
program test001
implicit none
!变量申明
real::result
real::plus,minus
integer::guess
integer::i
!可执行段
print*,'what is the number?'
print*,'play the game?'
read(*,*)i
!初始化
do while(0/=i)
call random_number(result)
call random_number(plus)
call random_number(minus)
result=100.0*result+1.0
plus=10.0*plus
minus=20.0*minus
write(*,'(1x,a,i3,",",i3,a)')'the number is in the range of[', && int(result)-int(minus),int(result)+int(plus)),']'
print*,'your guess is?'
!循环猜测
do i=1,5
read(*,*)guess
select case(int(result))==guess)
case(.true.)
print*,'congratulation! you get the number!'
write(*,'(1x,"and your score is:",i3)') 6-i
exit
case default
write(*,*)'so sad,you almost get the number'
if(5==i) then
print*,'sorry,you have lost your five times!'
write(*,'(1x,a,i3)'),"and the right number is:',int(result)
else
print*,'your new guess is?'
endif
end select
enddo
print*,'continue the game?'
read(*,*)i
enddo
print*,'thanks for playing'
end program test001 write(*,'(1x,a,i3,",",i3,a)')' 这语句是什么意思,,,,,真心不懂 都是一些基本的书写错误。见注释
!select case 语句范例
program test001
implicit none
!变量申明
real::result
real::plus,minus
integer::guess
integer::i
!可执行段
print*,'what is the number?'
print*,'play the game?'
read(*,*)i
!初始化
do while(0/=i)
call random_number(result)
call random_number(plus)
call random_number(minus)
result=100.0*result+1.0
plus=10.0*plus
minus=20.0*minus
write(*,'(1x,a,i3,",",i3,a)')'the number is in the range of[', &
int(result)-int(minus),int(result)+int(plus),']'!多一个括号
print*,'your guess is?'
!循环猜测
do i=1,5
read(*,*)guess
select case(int(result)==guess)!多一个括号
case(.true.)
print*,'congratulation! you get the number!'
write(*,'(1x,"and your score is:",i3)') 6-i
exit
case default
write(*,*)'so sad,you almost get the number'
if(5==i) then
print*,'sorry,you have lost your five times!'
write(*,'(1x,a,i3)'),"and the right number is:",int(result)!双引号
else
print*,'your new guess is?'
endif
end select
enddo
print*,'continue the game?'
read(*,*)i
enddo
print*,'thanks for playing'
end program test001 write(*,'(1x,a,i3,",",i3,a)')' 这语句是什么意思,,,,,真心不懂
这句意思是输出,用括号中的格式,即:
(1x,a,i3,",",i3,a)
其中
1x 表示先输出一个空格
a 表示输出一个字符串
i3 表示输出一个整数,占3格
"," 表示输出一个逗号
kyra 发表于 2017-8-18 18:50
write(*,'(1x,a,i3,",",i3,a)')' 这语句是什么意思,,,,,真心不懂
这句意思是输出,用括号中的格式,即 ...
谢谢:-) 已经可以运行了 kyra 发表于 2017-8-18 18:48
都是一些基本的书写错误。见注释
!select case 语句范例
program test001
费心啦:-handshake
页:
[1]