#34 用循环累加

项目1 分数的累加

编程序,输出1/3-3/5+5/7-7/9…+19/21的结果

/*
*Copyright @2018,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:袁生
*完成日期:2018115*版 本 号:v1.0
*问题描述:编程序,输出1/3-3/5+5/7-7/9…+19/21的结果
*/
#include <stdio.h>
int main()
{
    int n=1;
    float s=1.0,sum=0;
    while (n<=10)
    {
        sum+=(2*n-1)*s/(2*n+1);
        s=-s;
        n++;
    }
    printf("%f",sum);
    return 0;
}
输出结果

这里写图片描述

项目2 麻烦的累加涨功夫

计算(1)幂倒数求和 (2)阶乘倒数求和
算式(1)程序:

/*
*Copyright @2018,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:袁生
*完成日期:2018115日
*版 本 号:v1.0
*问题描述:计算s=1-1/2^1+1/2^2-...+1/2^8
*/
#include <stdio.h>
#include <math.h>
int main()
{
    int i=1,n=1;
    float sign=-1.0,s=1;
//方案一
    while (i<=8)
    {
        n*=2;
        s+=sign/n;
        sign=-sign;
        i++;
    }
/*方案二
    while (i<=8)
    {
        n=pow(2,i);
        s+=sign/n;
        sign=-sign;
        i++;
    }
*/
    printf("%f",s);
    return 0;
}
算式(1)输出结果

这里写图片描述
算式(2)程序:

/*
*Copyright @2018,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:袁生
*完成日期:2018115日
*版 本 号:v1.0
*问题描述:计算f=1-1/2!+1/3!-...+1/9!
*/
#include <stdio.h>
int main()
{
    int i=1,j=1;
    float sign=1.0,f=0;
    while (i<=9)
    {
        j*=i;
        f+=sign/j;
        sign=-sign;
        i++;
    }
    printf("%f",f);
    return 0;
}
算式(2)输出结果

这里写图片描述

猜你喜欢

转载自blog.csdn.net/epsilono1/article/details/79061585
34