integer function i(n)
integer::s=0,k,n
do k=1,n
s=s+k
end do
i=s
end
program Text3
real::s=0
integer j

do j=1,50
s=s+1.0/i(j)
print*,i(j) !如果打印每个i的值则最后输出1.3639,若去掉则输出1.4989
end

展开全部
收起
1回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 暗恋未遂

    7人对此回答表示赞同

    你好,跟打印输出无关,主要原因是子程序里s值产生了累加,你改为以下的程序段就可以了
    integer function i(n)
    integer::s=0,k,n
    do k=1,n
    s=s+k
    write(*,*)k,s
    end do
    i=s
    s=0!程序运行完后,s归为0下次循环就不会累加了
    end
    展开
    7
    0回复
    发布于 5年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部