用fortran编写:有N个国家名,要求按字母先后顺序排并输出
时间: 2023-02-09 15:49:34 浏览: 189
在 Fortran 中,您可以使用类似于以下代码来按字母顺序对国家名进行排序并输出:
```
program sort_countries
implicit none
character(len=20), dimension(N) :: countries ! 定义存储国家名的数组
integer :: i, j ! 循环计数器
! 输入国家名
do i = 1, N
read(*,*) countries(i)
end do
! 对国家名进行排序
do i = 1, N-1
do j = i+1, N
if (countries(i) > countries(j)) then
call swap(countries(i), countries(j))
end if
end do
end do
! 输出排序后的国家名
do i = 1, N
write(*,*) countries(i)
end do
contains
! 定义交换两个字符串的函数
subroutine swap(a, b)
character(len=*), intent(inout) :: a, b
character(len=*), parameter :: temp = a
a = b
b = temp
end subroutine
end program sort_countries
```
在上面的代码中,`N` 表示国家名的数量,`countries` 是一个存储国家名的字符串数组。程序首先输入所有的国家名,然后使用两层循环对国家名进行排序。最后,程序会输出排序后的国家名。
注意:上面的代码使用的是选择排序算法,它的时间复杂度为 O(N^2)。如果您的数据量非常大,可能需要使用更高效的排序算法。