c语言1-1/2+1/3-1/4+1/5-1/6……请求出该多项式的前n项的和

如题所述

从题目看应先输入项数n(正整数),再用for循环求结果较方便;计数变量从1开始依次增1,奇数取其倒数为正、偶数取其倒数为负求各项之浮点和即可完成。代码如下:

#include "stdio.h"
int main(int argc,char *argv[]){
double s;
int i,n;
printf("Input n(int n>0)...\nn=");
if(scanf("%d",&n)!=1 || n<1){//限制输入的项数n是正整数
printf("Input error, exit...\n");
return 0;
}
for(s=0,i=1;i<=n;s += i&1 ? 1.0/i++ : -1.0/i++);//i从1开始求倒数,奇数时取正,否则取负求浮点和
printf("The result are %g\n",s);//输出结果
return 0;
}

试运行结果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-13
#include <stdio.h>
void main () {
    int n;
    int sum = 0;    //总和
    int fram = -1; //符号
    scanf(%d, n);
    for (int i=1; i<=n; i++) {
        fram = fram*(-1)
        sum = sum + fram*(1/i);
    }
    printf("%d", sum);
}

第2个回答  2014-12-13
#include <stdio.h>
int main()
{
    int i,n,fuhao=1;
    double sum=0;
    printf("input n: ");
    scanf("%d", &n );
    for(i=1;i<n;i++ )
    {
        sum += 1.0*fuhao/i ;
        fuhao=-fuhao;
    }
    printf("%g\n", sum );
    return 0;
}

本回答被网友采纳
第3个回答  2014-12-13
#include<stdio.h>
int main()
{
    int i,n,flag=1;
    float sum=0;
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        sum+=flag*1.0/i;
        flag=flag*(-1);
    }
    printf("%f\n",sum);
    return 0;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网