回 帖 发 新 帖 刷新版面

主题:新手  求解  不知道哪写错了~~~

FUNCTION  F(N)
 F=1
   DO I=1,N
     F=F*N
   ENDDO
 END FUNCTION

 INTEGER K,M,L
 READ*,K,M,L
 PRINT*,F(K),F(M),F(L)
 END


为什么输入3以上的数输出结果就不正常了
例如输入3  输出是27了

帮帮忙 谢谢~~~

回复列表 (共4个回复)

沙发

DO I=1,N
     F=F*N
   ENDDO
这样的话你要I干嘛?
代码写得非常不规范,写长了之后再出错就没人会去帮你看的了.

板凳

你这代码实现的不是n的n次方吗?3的3次方不就是27吗?这代码有错吗?

3 楼

我猜楼主的目的可能是
F=F*I
如果是N的N次方, N**N就可以实现了.

4 楼

同意 他是想写N!吧 哈哈

我来回复

您尚未登录,请登录后再回复。点此登录或注册