fortran有一篇文章,要求统计出字符串THE文章中现的数,并指出它们分别从第几行第几个字符位置开始。
时间: 2023-08-09 11:06:11 浏览: 113
以下是 Fortran 代码实现:
```fortran
program count_numbers
implicit none
character(len=80) :: line
integer :: i, j, line_num, char_num
integer, dimension(10) :: count
count = 0
open(unit=10, file='article.txt', status='old')
do line_num = 1, 100 ! 假设文章有100行
read(10, '(A)', iostat=i) line
if (i /= 0) exit ! 读到文件结尾就退出
do j = 1, len(line)
if (line(j:j) == '0' .or. line(j:j) == '1' .or. &
line(j:j) == '2' .or. line(j:j) == '3' .or. &
line(j:j) == '4' .or. line(j:j) == '5' .or. &
line(j:j) == '6' .or. line(j:j) == '7' .or. &
line(j:j) == '8' .or. line(j:j) == '9') then
char_num = j
count(int(line(j:j))) = count(int(line(j:j))) + 1
write(*, *) 'Number ', line(j:j), &
' found at line ', line_num, &
' and character position ', char_num
end if
end do
end do
write(*, *) 'Number counts: '
do i = 0, 9
write(*, *) i, ': ', count(i)
end do
close(10)
end program count_numbers
```
这个程序会打开名为 `article.txt` 的文件,并假设文章有100行。它会逐行读取文件中的内容,查找并计数出现的数字,并输出该数字出现的行号和字符位置。最后,程序会输出每个数字出现的次数。请注意,这个代码中只能处理单个数字,如果文章中出现了多个数字,则需要对代码进行修改。
阅读全文