注册 登录
编程论坛 C++教室

大神帮忙看看,这哪里出错了,怎么出现那么多答案

xixiluo 发布于 2014-05-28 16:29, 527 次点击
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include<math.h>
using namespace std;
double printc()
{
srand((int)time(0));
double P;
double c=0, d=1;
P=(double)rand()/RAND_MAX*(d-c)+c;
cout<<P<<endl;
return 0;
}
int main()
{
double X,Y,M,R,a,U;
 scanf("%f",&a);
double e=2.718;
double b=(a+e)/e;
    do
    {
R=printc();
U=printc();
Y=b*R;
if(Y<=1)
    X=pow(Y,1/a);
       else X=-log(exp((b-Y)/a));
if(0<X&&X<=1)
    M=pow(X,a-1);
        else if(X>1)
            M=pow(e,-X);
        else
            M=0;
       }
    while(U<=M);
printf("N=%f\n",X);
    }
2 回复
#2
jjfai2014-05-30 09:06
把问题说明白点!
#3
YUN_P2014-06-07 21:21
出现什么答案?
1