fortran语言循环语句求助!
题目是输入100名学生的学号和五门课的成绩,要求统计并打印出总分成绩最高学生的学号、各门课成绩、总成绩及平均成绩。我先编了一个5名学生和五门课成绩的。程序如下:open(...
题目是输入100名学生的学号和五门课的成绩,要求统计并打印出总分成绩最高学生的学号、各门课成绩、总成绩及平均成绩。我先编了一个5名学生和五门课成绩的。程序如下:
open(10,file='data')
open(20,file='out')
read(10,*)
write(20,100)
100 format(1x,"学号 数学 物理 化学 生物 英语 总成绩 平均成绩")
do i=1,5,1
read(10,*)x,m,p,c,b,e
enddo
max=0
do i=1,5,1
t=m+p+c+b+e
if(t>max)then
max=t
endif
enddo
a=max/5
write(20,200)x,m,p,c,b,e,max,a
200 format(i4,5f6.1,2f8.1)
end
然后准备的data文件是这样的:
5 5
1 80.0 68.0 98.0 69.0 65.0
2 96.0 78.0 96.0 77.0 82.0
3 78.0 80.0 80.0 89.0 75.0
4 68.0 96.0 78.0 91.0 88.0
5 98.0 98.0 68.0 94.0 100.0
编译没问题,但是运行的时候显示run-time error F6101(data)-invaild integer
求大神指导!!!!!!!! 展开
open(10,file='data')
open(20,file='out')
read(10,*)
write(20,100)
100 format(1x,"学号 数学 物理 化学 生物 英语 总成绩 平均成绩")
do i=1,5,1
read(10,*)x,m,p,c,b,e
enddo
max=0
do i=1,5,1
t=m+p+c+b+e
if(t>max)then
max=t
endif
enddo
a=max/5
write(20,200)x,m,p,c,b,e,max,a
200 format(i4,5f6.1,2f8.1)
end
然后准备的data文件是这样的:
5 5
1 80.0 68.0 98.0 69.0 65.0
2 96.0 78.0 96.0 77.0 82.0
3 78.0 80.0 80.0 89.0 75.0
4 68.0 96.0 78.0 91.0 88.0
5 98.0 98.0 68.0 94.0 100.0
编译没问题,但是运行的时候显示run-time error F6101(data)-invaild integer
求大神指导!!!!!!!! 展开
1个回答
展开全部
在开始需加一句:
real m
因为变量名m隐含是整型。
real m
因为变量名m隐含是整型。
追问
还是不行额……
追答
implicit none
integer, parameter:: n=5 ! 100个学生改成 n=100 即可
integer:: i, xh(n)
real:: m(n),p(n),c(n),b(n),e(n)
real:: t(n),max,mxh, a
open(10,file='data')
open(20,file='out')
read(10,*)
write(20,*) " 学号 数学 物理 化学 生物 英语 总成绩 平均成绩"
do i=1,n
read(10,*) xh(n),m(n),p(n),c(n),b(n),e(n)
enddo
max=0
do i=1,n
t(n)=m(n)+p(n)+c(n)+b(n)+e(n)
if(t(n)>max)then
max=t(n)
mxh=n
endif
enddo
a=max/5
write(20,200) xh(mxh),m(mxh),p(mxh),c(mxh),b(mxh),e(mxh),max,a
200 format(i4,5f6.1,2f8.1)
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询