用while语句编写程序 编程求sum=1+1/(1*2)+1/(2*3)+…+1/(n*(n+1))

img


用while语句编写程序
编程求sum=1+1/(12)+1/(23)+…+1/(n*(n+1))

小学的裂项相消法
1+1-1/2+1/2-1/3+...+1/(n-1) - (1/n)+(1/n)-(1/n+1)=1 + 1 -1/(n+1)=2-1/(n+1);n=1,2,3
所以

#include<stdio.h>
int main()
{    
    int n;
    float sum=0;
    printf("请输入n:");
    scanf("%d",&n);
    if(n==0)
        sum=1;
    while (n)
    {
        sum=2-1.0/(n+1);
        n=0;
    }
     printf("sum=%f",sum);
    return 0;
}


望采纳,谢谢,代码:

#include<iostream>
using namespace std;

int main() {

    int n = 0;
    cout << "请输入n:";
    cin >> n;

    float sum = 1;
    int i = 1;
    while (i<=n)
    {
        sum = sum + 1.0000000/(i*(i+1));
        i++;
    }

    cout << "结果是:" << sum << endl;


    return 0;
}

效果:

img