4.11 编程计算1×2×3+3×4×5+…+99×100×101的值。#include
main() { long i ;
long term, sum = 0; for (i = 1; i <= 99; i = i + 2) {
term = i * (i + 1) * (i + 2); sum = sum + term; }
printf(\"sum=%ld\}
4.12 编程计算1!+2!+3!+4!+…+10!的值。 #include main() {
long term = 1,sum = 0; int i;
for (i = 1; i <= 10; i++) {
term = term * i; sum = sum + term; }
printf(\"1!+2!+...+10! = %ld \\n\}
#include main()
{
long term ,sum = 0; int i, j;
for (i = 1; i <= 10; i++) {
term = 1;
for (j = 1; j <= i; j++) {
term = term * j; }
sum = sum + term; }
printf(\"1!+2!+…+10! = %ld \\n\}
4.13 编程计算a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。
#include main() {
long term = 0,sum = 0; int a , i, n;
printf(\"Input a,n: \");
scanf(\"%d,%d\输入a,n的值*/ for (i = 1; i <= n; i++) {
term = term * 10 + a; /*求出累加项*/ sum = sum + term; /*进行累加*/ }
printf(\"sum=%ld\\n\}
4.14 利用=×…的前100项之积计算π的值。 #include main() {
double term, result = 1; /*累乘项初值应为1*/ int n;
for (n = 2; n <= 100; n = n + 2) {
term = (double)( n * n)/(( n - 1) * ( n + 1)); /*计算累乘项*/ result = result * term; }
printf(\"result = %f\\n\#include main() {
double term, result = 1; int n;
for (n = 1; n <= 50; n++) {
term = (double)(2*n*2*n)/((2*n-1)*(2*n+1)); /*计算累乘项*/ result = result * term; }
printf(\"result = %f\\n\4.15 利用泰勒级数…+!
n 计算e 的近似值,当最后一项的绝对值小于10-5时认为达到了精度要求。要求统计总共累加了多少项。
#include #include main() {
int n = 1, count =1; π (7)
656543432122=π1...!31!21!111e +++++= double e = 1.0, term = 1.0; long fac = 1;
for (n=1; fabs(term) >= 1e-5; n++) {
fac = fac * n; term = 1.0 / fac; e = e + term; count++; }
printf(\"e = %f, count = %d\\n\
} 4.16 计算,直到最后一项的绝对值小于10-4为止。 #include #include main() { int n = 1;
float term = 1.0, sign = 1,sum = 0;
while (fabs(term) >= 1e-4) /*判断末项大小*/ {
term = sign / n; /*求出累加项*/ sum = sum + term; /*累加*/ sign = -sign; /*改变项的符号*/ n++; /*分母加1*/
} printf(\"sum = %f\\n\} 4.17 利用泰勒级数sin(x )≈,! 9!7!5!39
753 -+-+-x x x x x 计算sin(x ) 的值。要求最后一项的绝对值小于10-5,并统计出此时累加了多少项。
#include #include
main() {
int n = 1,count = 1; float x;
double sum , term; /*因为位数多,所以定义为双精度 */ printf(\"Input x: \"); scanf(\"%f\10019914131211 sum = x;
term = x; /*赋初值*/ do {
term = -term * x * x / ((n + 1) * (n + 2)); sum = sum + term; /*累加*/ n = n + 2; count++;
}while (fabs(term) >= 1e-5);
printf(\"sin(x) = %f, count = %d\\n\
因篇幅问题不能全部显示,请点此查看更多更全内容