回 帖 发 新 帖 刷新版面

主题:用三角形的三遍求面积的程序代码是什么啊

各位大哥大姐
帮帮小妹吧
老师留的作业
我改了好多遍还是有两个错误3个警告


题目是这样的:

三角形的三遍a,b,c的长度输入后可求出三角形的面积
公式是: area=√s(s-a)(s-b)(s-c)
请各位大哥大姐帮帮忙吧

回复列表 (共21个回复)

沙发

直接问你们的老师呀。

板凳

请将程序代码发出来,别人会告诉你哪里错误。你现在应该是找出错误。
我估计你应该是程序声明出问题了。


我的问题还没有人回答,得先开始工作了[em10][em10]

3 楼

都知道公式了还不会编么……

4 楼

全新立白?

建議您還是先看看書吧:)

5 楼

关键是对输入的三边进行条件判断,若不能组成三角形则返回重新输入,否则运行时根号下出现负数而报错。

6 楼


    program main

    implicit none
    real a,b,c,s
 10 write(*,*) 'please input the values of a,b,c'
    read(*,*) a,b,c
    if(a+b<c.or.a+c<b.or.b+c<a) then
     goto 10
    else
     goto 20
    endif
 20 continue
    s=0.5*(a+b+c)
    write(*,*) sqrt(s*(s-a)*(s-b)*(s-c))
    
    end program main

7 楼

jstzhurj兄, 为啥给个goto的代码? 恐怕会教坏新人哦.

8 楼

嘿嘿,GOTO确实不好,且这个题目不是必须用到GOTO的:)

9 楼

[quote]jstzhurj兄, 为啥给个goto的代码? 恐怕会教坏新人哦.[/quote]
 
罪过,罪过,阿弥陀佛!

10 楼

[quote]嘿嘿,GOTO确实不好,且这个题目不是必须用到GOTO的:)[/quote]

    program main

    implicit none
    real:: a,b,c,s
    
    do while(a+b<c.or.a+c<b.or.b+c<a)
     write(*,*) 'please input the values of a,b,c'
     read(*,*) a,b,c
    enddo
    
    s=0.5*(a+b+c)
    write(*,*)sqrt(s*(s-a)*(s-b)*(s-c))
    
    end program main

我来回复

您尚未登录,请登录后再回复。点此登录或注册