《c语言程序设计》例 2-8 2-9 2-10 2-11

来源:互联网 发布:linux sh 函数 编辑:程序博客网 时间:2024/06/07 05:37

【2-8】例2-8 求 1-1/3+1/5-… 的前n项和


#include <stdio.h>int main(void) {    int denominator, flag, i, n;    double item, sum;    printf("Enter n: ");    scanf ("%d", &n);    flag=1;    denominator =1;    sum = 0 ;    for ( i = 1; i <= n; i++ ) {        item = flag * 1.0/ denominator;           sum = sum + item ;                              flag = -flag;                                            denominator = denominator +2;    }    printf ( "sum = %f\n", sum);    return 0;}

【例2-9】 求n!


#include <stdio.h>int main(void) {    int i, n;    double product;    printf("input n: \n");    scanf ("%d", &n) ;    product=1;    for ( i = 1; i <= n; i++ ) {        product = product * i ;    }    printf ( "product = %.0f\n", product );    return 0;}

【例2-10】 生成乘方表 输入一个正整数n,生成一张2的乘方表,输出 20到2n的值,可以调用幂函数计算2的乘方。


#include <stdio.h>#include <math.h>int main(void) {    int i, n;    double power;    printf("Enter n:");    scanf("%d", &n);    for (i = 0; i <= n ; i++) {        power = pow(2, i);        printf("pow(2,%d)= %.0f\n", i, power);    }    return 0;}

【例2-11】 生成阶乘表 输入一个正整数n,生成一张阶乘表,输出0! 到n!的值。要求定义和调用函数fact(n)计 算n!,函数类型是double。


#include <stdio.h>double fact(int n);  /* 自定义函数的声明 */int main(void) {    int i, n;    double result;    printf("Enter n:");    scanf("%d", &n);    for (i = 0; i <= n ; i++) {        result = fact(i);         /* 调用自定义函数fact(i)计算i! */        printf("%d!=%.0f\n", i, result);    }    return 0;}double fact(int n)      //函数首部{    int i;    double product;     //变量product用于存放结果    product=1;    for(i=1;i<=n;i++){        product=product*i;    }     return product;     //将结果回送主函数  } 
原创粉丝点击