#include <stdio.h>
#include <string.h>
#define N 100
int main()
{
int i, n;
double x[N], p[N], ex = 0.0, ex2 = 0.0, dx = 0.0;
printf("计算均值E(x)与方差D(X)\n");
printf("几组数:");
scanf("%d", &n);
printf("X:");
for (i = 0; i < n; i++)
{
char input[10];
scanf("%s", input);
if (strstr(input, "/"))//输入的时候可能是分数,判断是否有 "/"
{
int numerator, denominator;
sscanf(input, "%d/%d", &numerator, &denominator);
x[i] = (double)numerator / denominator;
}
else
{
sscanf(input, "%lf", &x[i]);
}
}
printf("P:");
for (i = 0; i < n; i++)
{
char input[10];
scanf("%s", input);
if (strstr(input, "/"))
{
int numerator, denominator;
sscanf(input, "%d/%d", &numerator, &denominator);
p[i] = (double)numerator / denominator;
}
else
{
sscanf(input, "%lf", &p[i]);
}
}
for (i = 0; i < n; i++)
{
ex += x[i] * p[i];
ex2 += x[i] * x[i] * p[i];
}
dx = ex2 - ex * ex;
printf("E(X):%lf D(X):%lf\n", ex, dx);
getch();
return 0;
}
数学中计算均值E(X)和方差D(X)
于 2024-03-26 17:47:58 首次发布