用Fortran编写:输入若干名学生的姓名、学号和三门课程(语文、数学和英语)的成绩,要求从键盘输入一个学生的学号,能打印出该学生的三门课程成绩和总分。
时间: 2023-01-31 08:08:22 浏览: 178
下面是一个使用 Fortran 的示例程序,它满足你所描述的需求:
```fortran
program find_student
implicit none
character(len=20) :: name(100) ! 存储学生姓名
integer :: id(100) ! 存储学生学号
integer :: chinese(100), math(100), english(100) ! 存储学生三门课程成绩
integer :: total(100) ! 存储学生总分
integer :: num_students ! 存储学生数量
integer :: i ! 循环变量
integer :: input_id ! 存储输入的学号
logical :: found ! 标识是否找到学生
! 读入学生数据
write(*,'("请输入学生数量:")')
read(*,'(i)') num_students
do i = 1, num_students
write(*,'("请输入学生",i,"的姓名:")')
read(*,'(a)', advance='no') name(i)
write(*,'("请输入学生",i,"的学号:")')
read(*,'(i)') id(i)
write(*,'("请输入学生",i,"的语文成绩:")')
read(*,'(i)') chinese(i)
write(*,'("请输入学生",i,"的数学成绩:")')
read(*,'(i)') math(i)
write(*,'("请输入学生",i,"的英语成绩:")')
read(*,'(i)') english(i)
total(i) = chinese(i) + math(i) + english(i)
end do
! 读入要查找的学生学号
write(*,'("请输入要查找的学生学号:")')
read(*,'(i)') input_id
! 查找学生
found = .false.
do i = 1, num_students
if (id(i) == input_id) then
found = .true.
write(*,'("学生姓名:",a)') name(i)
write(*,'("语文成绩:",i2)') chinese(i)
write(*,'("数学成绩:",i2)') math(i)
阅读全文