2module typedef
type student
integer :: num,math,english,chinese,fortran,total,average
integer :: weight,height
character(len=80) :: sex
end type
end module
program ex0615
use typedef
implicit none
type(student) :: s(20)
type(student) :: total,average
real , dimension(4) :: avenum=0, variance=0
type(student) :: temp
type(student) :: sex
integer i,j,q
integer, parameter :: students=20
open(1,file='text.txt')
open(2,file='output.txt')
open(3,file='swap.txt')
open(4,file='grade.txt')
read(1,*)
write(2,'(10a8)') 'num','height','weight','math','english','chinese','fortran','total','average'
write(3,'(10a8)') 'num','height','weight','math','english','chinese','fortran','total','average'
write(4,'(10a8)') 'num','height','weight','math','english','chinese','fortran','total','average'
do i=1,20
read(1,*) s(i)%num,s(i)%sex,s(i)%height,s(i)%weight,s(i)%math,s(i)%english,s(i)%chinese,s(i)%fortran
s(i)%total=s(i)%math+s(i)%english+s(i)%chinese+s(i)%fortran
s(i)%average=s(i)%total/20
if(s(i)%sex=='male') then
write(2,'(10a10)') s(i)
endif
end do
open(2,file='output.txt')
read(2,*)
do i=1,11
do j=i+1,12
if(s(i)%total<s(j)%total) then
temp=s(i)
s(i)=s(j)
s(j)=temp
end if
end do
end do
do q=1,12
write(3,'(10i8)') s(q)
end do
do i=1,20
read(1,*) s(i)%num,s(i)%sex,s(i)%height,s(i)%weight,s(i)%math,s(i)%english,s(i)%chinese,s(i)%fortran
total%math = total%math + s(i)%math
total%english = total%english + s(i)%english
total%chinese = total%chinese + s(i)%chinese
total%fortran = total%fortran + s(i)%fortran
end do
avenum(1)=real(total%math)/20
avenum(2)=real(total%english)/20
avenum(3)=real(total%chinese)/20
avenum(4)=real(total%fortran)/20
do i=1,20
variance(1)=variance(1)+(s(i)%math-avenum(1))**2
variance(2)=variance(2)+(s(i)%english-avenum(2))**2
variance(3)=variance(3)+(s(i)%chinese-avenum(3))**2
variance(4)=variance(4)+(s(i)%fortran-avenum(4))**2
end do
do i=1,4
variance(i)=sqrt(variance(i)/19)
write(4,'(A9,4f9.2)') "variance", variance
enddo
stop
end
这是我的程序。但是运行的结果是乱码的。我找不出错误。
统计一个班(有20个学生其中男生12人,女生8人)的学生信息,要求能实现如下功能。
(1) 输入每个学生的学号,性别,身高,体重和4门课程的成绩(课用文本生成txt文件)
(2) 计算每个男生的平均分和总分。
(3) 按总分从高到低排出男生名次,并按名次输出每个男学生的情况,只包括学号,各科成绩,平均分和总分。
(4) 编写函数求全班每门课程的标准差
关于Fortran,运行的时候提示错误。
这个估计是你安装的时候没有设置环境变量引起的。环境变量让集成开发环境能够找到编译器(DF.exe)的位置,无法执行的话,多半是没有设置环境变量引起的。重新安装一次编译器吧,记得询问是否设置环境变量时,选择 Yes 补充,我知道,你没有编译成功,EXE 没有生成,直接运行,当然是文件不存在了。
用clion 运行fortran 为什么一直运行无结果
1、fortran软件出现错误,使用clion进行修复即可解决运行无结果的问题。2、电脑的内存容量不足导致Fortran运行无结果,使用电脑自带的电脑管家清理内存即可。
关于Fortran,运行的时候提示错误。
这个估计是你安装的时候没有设置环境变量引起的。环境变量让集成开发环境能够找到编译器(DF.exe)的位置,无法执行的话,多半是没有设置环境变量引起的。重新安装一次编译器吧,记得询问是否设置环境变量时,选择 Yes 补充,我知道,你没有编译成功,EXE 没有生成,直接运行,当然是文件不存在了。
fortran运行时出现与windows有冲突
您是想问fortran运行时出现与windows有冲突的原因吗?缺少依赖库、权限问题、不兼容的Fortran编译器或版本、Windows更新或系统配置更改。1、缺少依赖库:Fortran可能需要某些特定的Windows库或组件才能正常工作。如果这些库或组件缺失或损坏,会导致冲突。2、权限问题:如果你试图访问Windows的某些受保护的资源,...
fortran运行错误
你这个应该是 在调用子程序的时候,发生的错误。具体是:你的主程序中的调用子程序的命令行的第19个参数为整型,而在子程序里面,该参数的类型为单精度浮点型数,所以类型不一致导致的错误,你改一下类型,应该就可以了。。
求帮忙解决fortran语言 程序运行时出现的问题
操作“File——Close Workspace”,“File—>Open”打开你的这个for程序,再重新编译,执行“Build—>Compile—>Build—>Execute”,应该就行了吧。
下载了一个Fortran代码运行出现以下情况,有比较熟悉这方面的帮帮忙吗...
gread 这个全局名在不同的地方被定义了两次,或者是矛盾的引用,引起重复、冲突。call gread 是作为 subroutine 子程序引用,而它在另一处是以 function 函数来定义的。必须修改明确它是子程序还是函数,如果确实是两个不同的过程(或函数),则需要修改其中一个名字。
fortran运行后发现问题 “forrtl: severe (408)”怎么办?
Fortran语言的最大特性是接近数学公式的自然描述,在计算机里具有很高的执行效率。易学,语法严谨。可以直接对矩阵和复数进行运算,这一点类似MATLAB。自诞生以来广泛地应用于数值计算领域,积累了大量高效而可靠的源程序。很多专用的大型数值运算计算机针对Fortran做了优化。广泛地应用于并行计算和高性能计算领域...
请教fortran 运行错误的原因
函数体里的形式参数的数组大小超过了主程序里的实际参数数组大小,也就是参数不匹配。更改可以是使用(1)显式结构形参数组,(2)不定结构形参数组 1) 显式结构形参数组:subroutine subr(n,array)integer:: n real:: array(n)2) 不定结构形参数组 subroutine subr(array)real:: array(:)
为什么运行fortran 出现Error
fortran如果正常安装但是运行出现error,我估计是因为你把fortran程序存放的文件夹是中文目录,是不被识别的~只要放在英文目录下就OK啦。