标题:关于循环
只看楼主
脑壳疼
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2018-4-22
结帖率:100%
 问题点数:0 回复次数:3 
关于循环
为什么 循环就没有转过
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
double rand_u(double Lower, double Upper);
double pci(double mean, double variance, int n_samples);

int main()
{
    srand((unsigned)time(NULL));

    double mean=0.0,variance,sum=0.0,sum_square_data=0.0,data;
    int n_samples=1;
    mean = sum/n_samples;
    variance = sum_square_data/(n_samples)-mean*mean;

    while (pci(mean,variance,n_samples)>=5)
    {
     data = rand_u(0.0,1.0);
     sum += data;
     sum_square_data += data*data;
     n_samples++;
    }
   

    printf("samples number =%d\n",n_samples);
    printf("sample mean = %lf\n",mean);
    printf("sample variance  = %lf\n",variance );
    printf("percentage confidence interval =%lf \n", pci( mean,variance,n_samples));
return 0;
}


///////////////////////////////////////////////////////////////////////////

double rand_u(double Lower, double Upper)       // 随机0-1
{

 double r=Lower+(rand()/(double)(RAND_MAX+1)*(Upper-Lower));

 return r;
}

double pci(double mean, double variance, int n_samples)
{
  double s=sqrt(variance);
  double percentage_confidence_interval = ((1.96*s)/sqrt(n_samples))*200;
  return percentage_confidence_interval;
}

搜索更多相关主题的帖子: 循环 double int data printf 
2018-04-22 11:33
童生
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:205
专家分:455
注 册:2018-3-7
得分:0 
"为什么 循环就没有转过"这还需要问吗?唯一原因 while (pci(mean,variance,n_samples)>=5)条件为假
2018-04-22 12:01
脑壳疼
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2018-4-22
得分:0 
我找到原因了 是我公式错了 却了个变量 所以 一直为0

2018-04-22 12:05
脑壳疼
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2018-4-22
得分:0 
回复 2楼 童生
我找到原因了

还是谢谢了
2018-04-22 12:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-486275-1-1.html




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

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