24小时热门版块排行榜    

查看: 1345  |  回复: 13
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 panpan429 的 9 个金币 ,回帖就立即获得 1 个金币,每人有 1 次机会
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

panpan429

金虫 (正式写手)

[交流] 【求助】C语言中这句话什么意思啊 已有8人参与

从书中找到的一个程序
其中main主函数前定义了全局变量
int rand_factor, randit, nreps;
main函数中有一函数调用
if (ifill==1)
{
    if (idiam==1 || idiam==2)
       {
          if (ibc==2||ibc==3)
             RandomFill(0, hht, hdia, hod, hha);
         if (ibc==4)
             RandomFill_Pharma(0, hht, hdia, hod, hha);
        } // close if idiam == 1 or 2
} // close if ifill=1
其中函数RandomFill是这样定义的
void RandomFill(double y_origin, double _hht, double _hdia, double _hod, double _hha)
{
        double _hhar, _tanhhar, _sinhhar;
         _hhar = _hha * Pi / 180;
         _sinhhar = sin(_hhar);
         _tanhhar = tan(_hhar);
        cout.setf(ios::showpoint);
        cout <<"\n starting Random Fill( y_orign, _hht, _hdia, _hod, _hha         = "<"< //place initial particle
    do
    {
         HRand(0.01);
         x[1] = HRand(rand_factor)*0.55*_hdia;
         HRand(0.01);
         y[1] = HRand(rand_factor)*2.0*_hht + y_origin;
         if (idim == 3 && ibc==2)
          { z[1] = HRand(rand_factor)*1.1*z_width; // - 1.0*z_width;
          }
        if (idim == 3 && ibc==3)
          { z[1] = HRand(rand_factor)*0.55*_hdia;
             xz_sq = sqrt( sq(x[1]) + sq(z[1]) );
          }
   // cout << "x,y,z = "<    }
    while ( fabs(x[1]) > 0.5*(_hdia-diam[1]) || y[1]>1.50*_hht+y_origin || y[1]<0.5*diam[1]+y_origin
|| (ibc==2 && y[1] < 1/_tanhhar * 1.0*( fabs(x[1]) -0.5*_hod) + 0.5*diam[1]/_sinhhar + y_origin) || (ibc==3 &&
y[1] < 1/_tanhhar * 1.0*(xz_sq - 0.5*_hod) + 0.5*diam[1]/_sinhhar + y_origin) || (ibc==2 &&
fabs(z[1])>0.5*z_width ) || (ibc==3 && xz_sq > 0.5*_hdia-0.5*diam[1]) );
。。。。。
。。。。。
}
HRand又是这样定义的
double HRand(double n) // returns random numbers on [-1,1]
{
    return double( 2.0 * (1.0 * rand() / RAND_MAX) - 1.0 );
}
想问的问题是:函数RandomFill中有一句HRand(0.01);这一行即不是赋值语句,后边也没有用到,我所见过的跟这句类似的也就一句 i++;这个还好理解,但上边的是什么意思?
不知道是错误?但该程序有好多其他地方也是这样用的,迷惑。。。
先谢谢大家

[ Last edited by panpan429 on 2010-4-16 at 17:35 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhaoxiaoqi

木虫 (著名写手)

★ ★ ★
panpan429(金币+1):谢谢参与
wangen994(金币+2):感谢参与,活动期间额外奖励 2010-04-18 09:38
看上去是没有任何意思的。
而且程序本身对全局变量没有赋初值,这样很容易出错。
用VC6
#include "stdafx.h"
#include "stdio.h"


int main(int argc, char* argv[])
{
        int text;
    printf("number:%d\n",text);
        return 0;
}
输出 number: -858993460
8楼2010-04-18 02:36:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

panpan429

金虫 (正式写手)

不太明白,给谁初始化?
3楼2010-04-16 17:49:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

★ ★ ★
panpan429(金币+1):谢谢参与
jjdg(金币+1):感谢参与 2010-04-17 00:44
wangen994(金币+1):感谢参与,活动期间额外奖励 2010-04-18 09:38
这是随机数产生算法
首先,要建立一个种子
然后,在产生随机数。
5楼2010-04-16 22:29:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

panpan429

金虫 (正式写手)

程序中没有关于产生种子的语句的,
那么程序中这一句:HRand(0.01);(产生区间为【-1,1】之间的随机数,)有什么作用
6楼2010-04-16 22:46:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
提示: 如果您在30分钟内回复过其他散金贴,则可能无法领取此贴金币
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 时间戳又变了 +11 wuchongjun 2026-08-20 15/750 2026-08-20 17:28 by wuchongjun
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 只有每年这种时候来逛逛小木虫 +21 yaoyewhu2008 2026-08-20 22/1100 2026-08-20 17:03 by yaoyewhu2008
[基金申请] 放榜前的不淡定 40+3 snowwithsea 2026-08-19 12/600 2026-08-20 15:56 by lfy8008
[基金申请] 言之凿凿,明天官网会通知放榜? +14 医学老男孩 2026-08-20 16/800 2026-08-20 15:47 by LNP@mRNA
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +16 Ldrop2023 2026-08-13 20/1000 2026-08-20 11:07 by xskun
[基金申请] 今天基金会出结果吗?20260819 +14 kkkl_v 2026-08-19 15/750 2026-08-20 08:21 by sunzitan
[基金申请] filecode,4个jtjc了 +11 ziyangfang 2026-08-19 13/650 2026-08-19 21:28 by aasahr
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 今天放榜没戏了吧 +4 yuleib84 2026-08-19 5/250 2026-08-19 19:52 by hhs666
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 什么时候开奖? +6 CrisMessi 2026-08-18 6/300 2026-08-19 08:06 by Equinoxhua
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 6/300 2026-08-18 15:36 by wwm09
[基金申请] 时间戳又变了8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
信息提示
请填处理意见