搜索
您的当前位置:首页c语言上机作业及答案

c语言上机作业及答案

来源:飒榕旅游知识分享网
c语言上机作业及答案

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\

因篇幅问题不能全部显示,请点此查看更多更全内容

Top