fortran如何将一个数组中的所有负数删除
时间: 2024-03-20 13:43:45 浏览: 80
在Fortran中,可以使用do循环遍历数组中的每个元素,并使用if语句检查每个元素是否为负数。如果是负数,则可以使用数组切片或移动项的方式删除该元素。下面是一个示例代码:
```
program remove_negative_numbers
implicit none
integer :: i, j, n
real :: array(10)
! 给数组赋值
do i=1,10
array(i) = i - 5
end do
! 输出原始数组
print *, "Original array:"
do i=1,10
print *, array(i)
end do
! 删除负数
n = 0
do i=1,10
if (array(i) >= 0) then
n = n + 1
array(n) = array(i)
end if
end do
! 输出新数组
print *, "Array without negative numbers:"
do i=1,n
print *, array(i)
end do
end program remove_negative_numbers
```
在这个程序中,我们首先定义了一个包含10个元素的数组 `array`,并使用 do 循环给它们赋值。然后,我们输出原始数组的值。接下来,我们使用另一个 do 循环遍历数组中的每个元素,并使用if语句检查每个元素是否为负数。如果不是负数,则将该元素放入新数组 `array` 中。最后,我们输出新数组的值,该数组中不包含任何负数。
阅读全文