我正在为一个统计课做作业,而且我是编程新手。我不想问一个愚蠢的问题,但我已经搜索并找不到答案。
这是我的代码:
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
double pareto(double x, double alpha, double beta)
{
double val = beta * pow(alpha, beta) / pow(x, beta+1);
if( alpha <= 0 ) printf("error");
else if( beta <= 0 ) printf("error");
else if( alpha >= x) return(0);
else return(val);
}
int main()
{
double x;
double alpha;
double beta;
scanf("%lf", &x);
scanf("%lf", &alpha);
scanf("%lf", &beta);
printf("%f\n", pareto(x,alpha,beta));
return 0;
}
当我测试代码如下:
echo 3 -2 1 | ./paretodens
我得到输出:
error0.000000
我希望它只是“错误”。我希望我的问题是有道理的。谢谢你的帮助。