| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 273 人关注过本帖
标题:求助C++一个小程序不知道错哪儿了,大侠来帮改改
只看楼主 加入收藏
zhouzhoude
Rank: 1
等 级:新手上路
帖 子:7
专家分:2
注 册:2011-3-2
结帖率:0
收藏
 问题点数:0 回复次数:0 
求助C++一个小程序不知道错哪儿了,大侠来帮改改
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#define PI 3.141592
using namespace std;
float WR,WA;
int  NA,NP,NR,I,K,L;
float WP;
float a,U,P,X;
int N,D,M=0;
float COLIN()
{
    int d=10;
    float U=(rand()%11)/10;//注意随机函数的使用
    M=M+1;
    P=-d*log(1.0*U);//  我感觉错在X值的改变上,一致使主程序的X达不到响应值,跳不出循环,错误应在这里,
    a=2*PI*U;
    X=X+P*cos(1.0*a);
    return X;
}
void STAT()
{
    WP=(1.0*NP)/(1.0*N);
    WR=(1.0*NR)/(1.0*N);
    WA=(1.0*NA)/(1.0*N);
    if(WP>=0.01)
    {
        printf("%f\n",WP);
        D=D+2;
    }
    else
    printf("D=%d\tWP=%f\tWA=%f\tWR=%f\tM=%d\n",D,WP,WA,WR,M);
}
int main()
{
    D=30;//              D的值变动
    printf("请输入中子数:");
    scanf("%d",&N);
    do
    {
        NA=NP=NR=I=L=K=0;
        X=0;
        while(I<N)
        {
            I=I+1;
            K=1;
            X=1;
            COLIN();//改变X的值
            L=1;
            do
            {
                if(K==10)
                {
                    NA=NA+1;//表明中子在里面碰撞10次被吸收
                    //cout<<"NA="<<NA<<endl;
                }
                else
                {
                    if(X>D)NP=NP+1;
                    else
                    {
                        if(X<0)NR=NR+1;
                        else              //表明中子反弹后继续运动
                        {
                            COLIN(); //改变X的值
                           // cout<<"sjdflks"<<endl;
                            K++;
                           // cout<<K<<endl;
                            L=0;
                        }
                    }
                }
            }while(L!=0);//do
        }//while(I<N);
        STAT();
    }while(WP<=0.01); //do第一层     我感觉这里的WP应该是WP>0.01
    //system("pause");
}
搜索更多相关主题的帖子: include return 主程序 
2011-08-19 20:42
快速回复:求助C++一个小程序不知道错哪儿了,大侠来帮改改
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015369 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved