作者screase (crossstep)
看板Fortran
标题[问题] 利用回圈求最大值最小值?
时间Wed Oct 8 19:05:16 2014
各位大大好
小弟不才
最近刚学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
我知道是错的,可是我想不出来该如何修正...
可以请各位高手们帮我看一下吗><
感谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.63.141
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Fortran/M.1412766319.A.96A.html
1F:推 sin55688: 只用看的,没看出什麽问题。唯一的就是初始max,min设的 10/08 23:06
2F:→ sin55688: 没有太好。建议min=10^16, max = -10^16 之类的极端值 10/08 23:08
3F:→ screase: 感谢回覆 我大概知道了! 10/08 23:46
4F:推 latinboy: 初始最大最小值应该都设定为第一个输入的数字 10/09 09:14
5F:→ screase: 楼上大大 我後来的确是这样写! 10/10 00:10
6F:推 yqwu: 教好快 我这一班才到if 10/10 01:08
7F:→ screase: 嗨楼上 你也是修蔡老师的fortran? 10/10 10:56
8F:推 rex0707: 蔡老师只有在工科系有开fortran吧 10/10 12:11
9F:推 yqwu: 我是化工系的fortran 10/11 17:22
10F:推 aix0209: 是不是多一个end if... 10/12 18:47
11F:→ screase: 对 後来我这边都重写了 有发现到 10/12 19:43
12F:推 linHsien: hi同班同学XD 难怪我看到问题觉得颇眼熟~ 10/15 23:09
13F:→ screase: 嗨楼上你好! 10/19 19:18