Home
个人中心
广告服务
使用帮助
关于我们
登录
注册
用户名
Email
自动登录
找回密码
密码
登录
注册
搜索
本版
用户
首页
Portal
前沿
动态
人物
会议
工具
论坛
BBS
家园
Space
好友
帖子
收藏
道具
勋章
任务
淘帖
导读
设置
退出
流体中文网
»
论坛
›
教学科研
›
CFD基础理论
›
还是一个fortran的小问题!
返回列表
查看:
2160
|
回复:
4
还是一个fortran的小问题!
[复制链接]
wangye03219
wangye03219
当前离线
积分
8342
IP卡
狗仔卡
发表于 2003-6-11 12:37:58
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
注册
x
PROGRAM UU
IMPLICIT NONE
INTEGER I
REAL KKK,LLL,MMM
KKK=1.
MMM=0.05
LLL=(KKK/MMM)
I=INT(LLL)
WRITE(*,*)I
END
这是一个小程序,表达的是我在编程中遇到的一个问题:明明kkk/mmm取整后应当为20,可是计算后却是19! 我晕了! 特向大家求助!:em14
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
wangye03219
wangye03219
当前离线
积分
8342
IP卡
狗仔卡
楼主
|
发表于 2003-6-11 13:28:20
|
显示全部楼层
还是一个fortran的小问题!
很显然,程序计算中一定是将kkk/mmm的商算成19.99999之类的值,而取整的函数int只是简单的截取整数部分,所以才出现这样的情况吧.但是,这与我们所希望的结果毕竟有差距,该怎么做呢?人为处理,(比如lll+1),还是避而不用,用其他的方法?
回复
支持
反对
使用道具
举报
显身卡
bronzesword
bronzesword
当前离线
积分
0
IP卡
狗仔卡
发表于 2003-6-11 16:13:42
|
显示全部楼层
还是一个fortran的小问题!
加上0.5,进行四舍五入吧
回复
支持
反对
使用道具
举报
显身卡
chbo76
chbo76
当前离线
积分
6339
IP卡
狗仔卡
发表于 2003-6-11 17:29:59
|
显示全部楼层
还是一个fortran的小问题!
这类问题大家在编程时是要十分注意的。
回复
支持
反对
使用道具
举报
显身卡
wangye03219
wangye03219
当前离线
积分
8342
IP卡
狗仔卡
楼主
|
发表于 2003-6-11 19:56:16
|
显示全部楼层
还是一个fortran的小问题!
int()函数只是进行简单的截取,你如4.25,4.56结果都是4!的确,这样的问题编程时得注意,不经意间,就会出现意想不到的问题.我进行了人工修正,加1,而不是0.5!
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
NUMECA论坛
流体力学基础
动网格讨论区
前后处理软件论坛
Fluent论坛
快速回复
返回顶部
返回列表