利用fortran,输入若干个国家的英文名字,将它们按字母顺序从大到小排列,然后输出。
时间: 2024-05-15 18:17:25 浏览: 10
好的,让我来为您解答这个问题。首先,我们可以使用 Fortran 自带的排序函数 `SORT` 来对输入的国家英文名字进行排序。下面是一个示例程序:
```
PROGRAM SORT_COUNTRIES
IMPLICIT NONE
INTEGER :: I, N
CHARACTER(LEN = 20), DIMENSION(:), ALLOCATABLE :: COUNTRIES
! 获取输入
WRITE(*, '(A)', ADVANCE = 'NO') "请输入国家英文名字的个数:"
READ(*, *) N
ALLOCATE(COUNTRIES(N))
DO I = 1, N
WRITE(*, '(A, I0, A)', ADVANCE = 'NO') "请输入第", I, "个国家英文名字:"
READ(*, *) COUNTRIES(I)
END DO
! 排序并输出
CALL SORT(COUNTRIES)
WRITE(*, '(A)') "按字母顺序从大到小排列的国家英文名字如下:"
DO I = N, 1, -1
WRITE(*, '(A)') COUNTRIES(I)
END DO
! 释放内存
DEALLOCATE(COUNTRIES)
END PROGRAM SORT_COUNTRIES
```
在这个程序中,首先通过 `READ` 读取输入的国家英文名字,并通过 `ALLOCATE` 分配一个动态数组 `COUNTRIES` 来存储这些字符串。然后,我们调用 `SORT` 函数将这些字符串按字母顺序从小到大排序。最后,我们通过一个循环输出排序后的结果,并通过 `DEALLOCATE` 释放内存。
希望这个答案能够帮助到您!如果您还有其他问题,请继续提问。