这是你的代码问题,而且不是 DO 循环的问题。
program main
implicit none
integer::a,b,r,i
integer , parameter :: N = 3 !// N 必须是常数,且有确切的值。否则应该用可分配数组
real circle(n,2)
real,parameter::pi=3.1415926
read*,a,b,r
do i=1,n
circle(i,1)=a+r*cos(pi*i/n) !// Fortran 数组默认从1开始,而不是 0
circle(i,2)=b+r*sin(pi*i/n) !// 同上
end do
print*,circle
pause
end