[问题] 利用循环求最大值最小值?

楼主: screase (crossstep)   2014-10-08 19:05:16
各位大大好
小弟不才
最近刚学fortran
修课时,老师出了一个作业
是要利用计数循环去输入多个任意的实数数值(循环数=数值个数)
然后再找出这些数值中的最大最小值
Write a Fortran program that will read an arbitrary number of real values and
find the maximum and minimum of the input data.
Prompt the user for the number of data to be entered and use a do loop
(iterative loop) to read the input data.
以上是作业内容
老师说不能用阵列求(因为还没教.....)
目前只想到这样写....
program hw5
implicit none
integer :: i,n
real :: x,max_x=0,min_x=0
write(*,*) "Enter number of real values:"
read(*,*) n
if (n < 2) then
write(*,*) 'At least 2 values must be entered.'
else
do i=1,n,1
write(*,*) "Enter a real value:"
read(*,*) x
if(x>max_x) max_x=x
if(x<min_x) min_x=x
end if
end do
end if
write(*,*) "最大值为",max_x,"最小值为",min_x
stop
end
我知道是错的,可是我想不出来该如何修正...
可以请各位高手们帮我看一下吗><
感谢!!
作者: sin55688 (单手挑藏獒)   2014-10-08 23:06:00
只用看的,没看出什么问题。唯一的就是初始max,min设的没有太好。建议min=10^16, max = -10^16 之类的极端值
楼主: screase (crossstep)   2014-10-08 23:46:00
感谢回复 我大概知道了!
作者: latinboy (阿贤)   2014-10-09 09:14:00
初始最大最小值应该都设定为第一个输入的数字
楼主: screase (crossstep)   2014-10-10 00:10:00
楼上大大 我后来的确是这样写!
作者: yqwu (走走)   2014-10-10 01:08:00
教好快 我这一班才到if
楼主: screase (crossstep)   2014-10-10 10:56:00
嗨楼上 你也是修蔡老师的fortran?
作者: rex0707 (我就是我)   2014-10-10 12:11:00
蔡老师只有在工科系有开fortran吧
作者: yqwu (走走)   2014-10-11 17:22:00
我是化工系的fortran
作者: aix0209 (崚)   2014-10-12 18:47:00
是不是多一个end if...
楼主: screase (crossstep)   2014-10-12 19:43:00
对 后来我这边都重写了 有发现到
作者: linHsien (Hsien)   2014-10-15 23:09:00
hi同班同学XD 难怪我看到问题觉得颇眼熟~
楼主: screase (crossstep)   2014-10-19 19:18:00
嗨楼上你好!

Links booklink

Contact Us: admin [ a t ] ucptt.com