1.求10个整数的数学期望和方差。
思路,通过创建一个数组来循环遍历10个整数。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
int arr[10] = { 0,1,2,3,4,5,6,7,8,9 };
int i = 0;
int j = 0;
double EX = 0;
double S = 0;
printf("请输入10个整数\n");
scanf("%d %d %d %d %d %d %d %d %d %d",
&arr[0], &arr[1], &arr[2], &arr[3], &arr[4], &arr[5], &arr[6], &arr[7], &arr[8], &arr[9]);
for (i = 0; i < 10; i++)
{
EX = EX + arr[i];
}
(double)EX = EX / 10;
for (j = 0; j < 10; j++)
{
S = S + (arr[j] - EX)*(arr[j] - EX);
}
(double)S = S / 10;
printf("%f\n", EX);
printf("%f\n", S);
system("pause");
return 0;
}
2编写程序求满足不等式1^1 + 2^2 +33+…+nn>100000的最小项数n。
思路,调用pow函数来实现循环求和,然后通过比较大小来确定最小项数n。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int i = 0;
int n = 0;
int S = 0;
for (i = 0; i <= n; i++)
{
S = S + pow(i, i);
if (S > 100000)
{
printf("%d", n);
break;
}
n++;
}
system("pause");
return 0;
}
用π/2=(2/1)(2/3)(4/3)(4/5)(6/5)(6/7)…前200万项之积计算π。
思路,把原累积数按照奇偶项分成两部分分别求解,
其中为了避免数据丢失需要for循环体内做强制类型转换。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i ;
int j ;
double a = 0;
double b = 1;
double c = 0;
double d = 1;
double S = 0;
for (i = 1; i <= 999999; i = i + 2)
{
a = ((double)(i + 1)) /i;
b = b * a;
}
for (j = 2; j <= 1000000; j = j + 2)
{
c = (double)j / (j + 1);
d = d * c;
}
S =2* b * d;
printf("%f", S);
system("pause");
return 0;
}
最后的结果为3.141591,与π很接近。