Fortran Coder

书上一个猜数字游戏代码总是报错,求大神帮忙看下。。

查看数: 11801 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-8-18 15:09

正文摘要:

报错提示: IVF2011 [Fortran] 纯文本查看 复制代码!select case 语句范例     program test001     implicit none     !变量申明     real::result     real::p ...

回复

Sean002 发表于 2017-8-21 10:20:52
kyra 发表于 2017-8-18 18:48
都是一些基本的书写错误。见注释
[mw_shl_code=fortran,true]!select case 语句范例
    program test001

费心啦
Sean002 发表于 2017-8-21 10:17:28
kyra 发表于 2017-8-18 18:50
write(*,'(1x,a,i3,",",i3,a)')' 这语句是什么意思,,,,,真心不懂
这句意思是输出,用括号中的格式,即 ...

谢谢 已经可以运行了
kyra 发表于 2017-8-18 18:50:03
write(*,'(1x,a,i3,",",i3,a)')' 这语句是什么意思,,,,,真心不懂
这句意思是输出,用括号中的格式,即:
(1x,a,i3,",",i3,a)
其中
1x 表示先输出一个空格
a 表示输出一个字符串
i3 表示输出一个整数,占3格
"," 表示输出一个逗号
kyra 发表于 2017-8-18 18:48:48
都是一些基本的书写错误。见注释
[Fortran] 纯文本查看 复制代码
!select case 语句范例
    program test001
    implicit none
    !变量申明
    real::result
    real::plus,minus
    integer::guess
    integer::i
    !可执行段
    print*,'what is the number?'
    print*,'play the game?[0-exit 1-play]'
    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?[0-exit 1-continue]'
        read(*,*)i
    enddo
    print*,'thanks for playing'
    end program test001
Sean002 发表于 2017-8-18 15:14:06
write(*,'(1x,a,i3,",",i3,a)')' 这语句是什么意思,,,,,真心不懂

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-4 23:13

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表